Pytorch 对于树莓派提供了较好的支持,可以利用 Pytorch 在树莓派上进行试试推理,当然也可以使用树莓派进行模型训练了,这里尝试使用树莓派CPU对模型进行训练。
0 环境配置
必要的环境安装,这个步骤没有什么值得说的,这里不再赘述,有需要可以参考之前的博客:树莓派5上手。
另外,这里还需要安装matplotlib绘图库(之后绘制损失曲线用的到):
1 训练代码
这里通过自己生成随机数据集,来训练一个简单的一维 CNN 模型。github地址:https://github.com/Taot-chen/raspberrypi_dl
项目结构:
1.1 生成模拟数据集
在没有数据集的情况下,通过简单的方式来生成一个数据集。数据集包含两部分,训练的值和标签,训练的值用data表示,训练的标签用label表示,:
1.2 训练数据处理
- 导入需要的工具包:
- 导入自定义数据集 API:
- 导入自定义模型
这里自定义的模型比较多,可以去github仓库取完整代码,这里只使用了 MobileNetV3:
导入模型:
- 加载数据集
- 划分训练集和测试集
去数据集的前 70% 为训练集,后 30% 为测试集:
- 数据加载 class
- 构建 dataloader
- 数据加载至训练设备上
选择CPU训练还是GPU训练:
- 加载模型
- 加载损失函数
这里使用交叉误熵损失函数:
- 加载优化器
- 初始化训练集准确率和测试集准确率列表
初始化两个列表,这两个列表分别用于存储训练集准确率和测试集准确率,每间隔show_result_epoch轮保存一次训练准确率和测试准确率,打印一次训练集和测试集的准确率:
1.3 完整训练函数
2 训练
2.1 生成训练数据
2.2 训练模型
2.3 训练结果
由于这里的训练集和测试集都是使用的随机数,可以的看到,测试的准确率比较低。训练速度的话,就真的是不快。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/49641.html