用树莓派4b构建深度学习应用(七)Codeless开发篇
2020/10/11 16:04:53
本文主要是介绍用树莓派4b构建深度学习应用(七)Codeless开发篇,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前言
通过前几篇的努力,我们把主流的几个AI框架都安装了一下,涉及了太多的代码,略显枯燥。这篇我们试着在这基础上,做一些有趣的AI应用,并赶一波时髦全程采用无代码开发。
现在建立人工智能应用最大的挑战在于几个方面:
- 数据采集与标注需要花大量的时间和人力;
- 模型的训练时间很长,算力成本也高;
- 模型泛化能力很弱,换一个场景就需要更换模型;
- 基础算法艰涩难懂,科研和学校仍是主力军;
- 很多领域还没有成熟的商业化解决方案。
随着技术的不断发展,人工智能应该成为某一系统的底层技术,在降本增效方面发挥更大的价值。AI 应该像水和电那样,成为任何人都随开随用的一种资源。这里介绍一个网站,就有点这个意思了。
Teachable Machine
这个网站提供了一个简单的人工智能训练平台,主要以监督学习为主,提供了图像分类,声音分类和姿态识别三种类型的AI应用。可以将训练好的模型,以 Tensorflow,Tensorflow.js 或 Tensorflow Lite 三种形式来保存,这样我们可以很方便的将其部署到手机端或是树莓派上。
https://teachablemachine.with...
训练模型分为三个步骤:采集数据,训练模型,导出模型。
1. 新建项目
我们准备先做一个手势识别的应用,新建一个图像分类项目,再选择 Image Project
2. 采集数据
可以通过上传图像或是摄像头的方式来采集图像,填入分类的类别名称,比如 one。
用摄像头会比较方便,按住 Hold to Record 按钮就会记录,还可以选择帧率。录制过程中,可以随时删除一些不适合的样本,也可以重复录制,增加样本多样性。
然后依次加第二个类别,第三个类别... 一直到 ten,共十个有效类别。这时候记得一定要加一个 nothing,作为排除项。
Tip:
要注意每个类别的图像数量尽量保持差不多的水平上,避免造成样本不平衡。
3. 训练模型
填入 Epochs,默认是50,只要没有过拟合,可以根据情况改大些,提高准确率;
Batch Size,默认是16,太小的话不容易收敛,太大的话容易欠拟合。显卡的显存足够的话,我比较迷信32;
Learning Rate,学习率是每次梯度下降更新的幅度,过大容易震荡,过小影响模型收敛速度,默认 0.001。
还可以点击 Under the hood,来查看整个训练过程中的曲线,有点 tensorboard 的味道了。
最后还能计算每个类别的准确率和混淆矩阵,完美!
Tip:
训练中记得不要切换标签,保持tab一直处于开启状态,避免浏览器优化后台影响训练模型。
4. 验证模型
可以在训练结束后,重新用摄像头来验证分类的结果,列表里会输出模型的预测概率,非常直观好用。
你可以及时对错误的类别,再补充一些样本,提高分类的准确率。
5. 导出模型
点击 Export Model 按钮,会弹出一个对话框,我们这里选择 Tensorflow Lite 模型,还可以选择导出的精度类型,Floating point ,Quantized 或 EdgeTPU。
点击 Download my model 下载模型按钮,过一段时间,网站就会把转换好的模型打包成 converted_tflite.zip 压缩文件。里面包含两个文件,model_unquant.tflite 是模型文件,labels.txt 是分类标签文件。
这两个文件是不是有点眼熟,对了,就是我们上一篇 tensorflow lite 应用里输入的两个参数。那让我们上次的程序直接跑一下看看效果。
部署到树莓派
酷!!!
难得的是,这回一行代码没写,就跑出了一个手势识别的AI应用。稍微扩展一下,比如训练一个火影忍者里的结印手势,然后根据分类结果,后端再连接一个 IFFFT 应用,可以很有仪式感地打开你的智能门锁。
也可以很容易的做到挥一挥手就打开空调,打个响指就灭一盏卧室的台灯,更多这种中二,又有趣的智能家庭应用,就留给你们的想象力了。
下一篇预告
我们将在树莓派上。
部署一下 intel 的神经计算棒,
进一步的提升推理速度,
敬请期待...
这篇关于用树莓派4b构建深度学习应用(七)Codeless开发篇的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-30tensorflow是什么-icode9专业技术文章分享
- 2024-10-15成功地使用本地的 NVIDIA GPU 运行 PyTorch 或 TensorFlow
- 2024-01-23供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击
- 2024-01-19attributeerror: module 'tensorflow' has no attribute 'placeholder'
- 2024-01-19module 'tensorflow.compat.v2' has no attribute 'internal'
- 2023-07-17【2023年】第33天 Neural Networks and Deep Learning with TensorFlow
- 2023-07-10【2023年】第32天 Boosted Trees with TensorFlow 2.0(随机森林)
- 2023-07-09【2023年】第31天 Logistic Regression with TensorFlow 2.0(用TensorFlow进行逻辑回归)
- 2023-07-01【2023年】第30天 Supervised Learning with TensorFlow 2(用TensorFlow进行监督学习 2)
- 2023-06-18【2023年】第29天 Supervised Learning with TensorFlow 1(用TensorFlow进行监督学习 1)