用树莓派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   阅读(49)   评论(0)
 标签: 人工智能

涨知识
排序

排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。

评论:
相关文章

K210开发环境搭建 、开发文档、常见问题、开发板选择

勘智K210采用RISC-V处理器架构,具备视听一体、自主IP核与可编程能力强三大特点,支持机器视觉与机器听觉多模态识别,可广泛应用于智能家居、智能园区、智能能耗和智能农业等场景。




Jetbot基础教程-组装过程的注意细节

假如您的 Jetbot 小车是从外面采购第三方套件的话,可以跳过本文的内容。如果您是按照 jetbot.org 原厂的自行组装方式,那么本文所提供的一些细节点,会让您节省很多摸索的时间。



《中小学人工智能通识教育指南(2025年版)》全文发布

近日,教育部基础教育教学指导委员会正式发布《中小学人工智能通识教育指南(2025年版)》。


用树莓派4b构建深度学习应用(14) 素描线稿篇

这一篇来看一下最近抖音上看到一个批量提取线稿的视频,掌握其核心原理,我们用 OpenCV 就很容易实现一个更快速的方案。


Jetbot基础教程-软件环境安装

Jetbot 需要与很多周边设备互动,并且使用很多深度学习框架以及 Jupyter 交互界面进行操作,因此需要安装与调试的内容很多。


可视化解释11种基本神经网络架构

随着深度学习的飞速发展,已经创建了完整的神经网络体系结构主机,以解决各种各样的任务和问题。 尽管有无数的神经网络架构,但对于任何深度学习工程师来说,这里有11种必不可少的知识,它们分为四大类:标准网络,递归网络,卷积网络和自动编码器。