用树莓派4b构建深度学习应用(7) Codeless开发篇

这篇我们试着在这基础上,做一些有趣的AI应用,并赶一波时髦全程采用无代码开发。

前言

通过前几篇的努力,我们把主流的几个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 应用,可以很有仪式感地打开你的智能门锁。

也可以很容易的做到挥一挥手就打开空调,打个响指就灭一盏卧室的台灯,更多这种中二,又有趣的智能家庭应用,就留给你们的想象力了。

- 本文内容来自网络,如有侵权,请联系本站处理。

2023-01   阅读(128)   评论(0)
 标签: 人工智能

涨知识
I2S

I2S(Inter—IC Sound)总线, 又称集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。

评论:
相关文章


ESP32-TinyML:释放嵌入式微型机器学习的强大潜力!

ESP32-TinyML项目为物联网(IoT)设备带来了强大的微型机器学习能力,让您可以在资源受限的ESP32微控制器上运行复杂的机器学习模型。接下来介绍该项目,探讨其功能、使用方法以及在各种应用中的潜力。


用树莓派4b构建深度学习应用(1) 硬件篇

这篇我们先来选用一些必要的硬件设备,其中标明必备的,则是运行系统所要求的,型号规格尽量保持一致,可选的部分可根据实际AI应用选择即可。



对话录:生成式人工智能与编程教育

2023年11月17日,一段视频发布在YouTube上,是MIT App Inventor项目组的两位重量级人物——Hal与Evan的对话,讨论的内容是生成式人工智能对编程教育的影响,以及App Inventor未来的技术方向。


TinyML:在边缘侧实现超低功耗机器学习

分布最广的物联网设备往往体积很小、电量有限。它们被作为终端硬件,通过嵌入式传感器采集各种数据;计算能力有限,对功耗极为敏感。这类设备也能实现机器学习吗?


如何借力人工智能发展STEM教育——访华南师范大学教育信息技术学院教授詹泽慧

在中小学开展STEM教育的核心目标是什么?中小学如何更有效地利用人工智能开展STEM教育?记者就此采访了华南师范大学教育信息技术学院教授詹泽慧。


人类被AI“毁灭”,一定是从教它玩《我的世界》开始的

上周,几乎是前后脚,英伟达和国内几家科研机构分别发布了两份内容相似的论文。


Tflite-micro在ESP32实现离线命令识别

本文会介绍如何使用TensorFlow Lite构建一个本地语音识别系统,内容包括语音前端处理、语音识别模型的训练以及如何将其转换为TensorFlow Lite格式并部署到ESP32。