RISC-V MCU中文社区

【分享】 基于TensorFlow2训练CNN模型部署到蜂鸟

发表于 开源蜂鸟E203 2023-05-30 17:54:01
0
583
0

队伍介绍:报名编号:CICC1829 团队名称: 你说的对对队

这是我们队伍的第2篇帖子,本帖欲分享在Ubuntu20.04系统中训练神经网络模型的一些经验。我们采用jupyter notebook作为开发IDE,以TensorFlow2为训练框架,目标是训练一个手写数字识别的神经网络模型。
我们使用MNIST数据集,训练一个卷积神经网络(CNN)模型,用于手写数字识别。一旦模型被训练并保存,就可以用于对新图像进行推理和预测。要使用生成的模型进行推理,可以按照以下步骤进行操作:

1. 构建卷积神经网络模型

model = models.Sequential()
model.add(layers.Conv2D(input_shape=(28, 28, 1), filters=4, kernel_size=(3,3),activation='relu', name='conv1'))
model.add(layers.MaxPool2D(pool_size=(2,2), name='pool1'))
model.add(layers.Conv2D(filters=8, kernel_size=(3, 3), activation='relu',name='conv2'))
model.add(layers.MaxPool2D(pool_size=(2,2), name='pool2'))
model.add(layers.Flatten(name='flatten'))
model.add(layers.Dense(128, activation='relu', name='FC1'))
model.add(layers.Dense(10, activation='softmax', name="FC2"))

2. 编译模型

model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

3. 训练模型

history = model.fit(x_train, y_train, batch_size=512, epochs=20)

总结

这个核心算法中的卷积神经网络结构和训练过程,是用来对MNIST手写数字图像进行分类的。模型将图像作为输入,通过卷积和池化层提取图像的特征,然后通过全连接层进行分类预测。训练过程中,模型通过最小化损失函数来优化模型参数,从而提高分类准确性。

喜欢0
用户评论
Diamond

Diamond 实名认证

懒的都不写签名

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板