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 应用,可以很有仪式感地打开你的智能门锁。

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

 


评论:
相关文章
用乐高打造太空电梯

用乐高积木打造太空电梯,重现科幻电影中的经典场景,感受宇宙探索的无限魅力。


App Inventor 编程实例及指南-第6章 巴黎地图旅游

本章将创建一个“向导”应用,带给你一次巴黎的梦幻之旅。


乐高WEDO打印机搭建分享

本文为一个乐高WEDO打印机的教学课件,供各位参考。


机器人技术七八级考试说明及知识框架

青少年机器人技术七级、八级着重于机器人智能处理能力的学习,基本编程语言为Python,采用RDK X3作为主控。


新加坡STEM课程概述——以STEM应用学习计划为例

新加坡教育部通过一系列举措来发展本国的STEM教育。文章以新加坡 STEM应用学习计划为例,介绍其产生的背景和具体的课程设计,分析其课程设计特点,为我国中小学STEM教育的实施提供参考。


LVGL简介

LVGL(Light and Versatile Graphics Library,轻巧而多功能的图形库)是一个免费的开放源代码图形库,它提供创建具有易于使用的图形元素,精美的视觉效果和低内存占用的嵌入式GUI所需的一切。


Emo:基于树莓派 4B DIY 能笑会动的桌面机器人

Emo 是一款个人伴侣机器人,集时尚与创新于一身。他的诞生离不开最新的树莓派 4 技术和先进的设计。他不仅仅是一款机器人,更是一个活生生的存在。


旅行者一号永不回航,致敬:64亿公里处的最后一次回眸

1990年2月14日,情人节,‘旅行者一号’正式与地球道别,转身拍下了太阳系的全家福,那最后一次回眸,留下了对‘家乡地球’所有的留恋与不舍,从此,今生今世,永不相见。


2024年青少年STEAM教育研究报告

报告由艾瑞咨询发布,对全球及中国STEAM教育发展进行了全面剖析。


STEM课程学习路径指南

新课标在秋季即将开始执行,其中信息科技课程与STEM教育是紧密相关的,如何更好的展开STEM学习,以培养孩子们的STEM思维呢?本文总结了一个STEM课程的学习路径,供家长参考。

用树莓派4b构建深度学习应用

作者:bluefish   共14讲

本教程基于树莓派4B打造一个稳定的软硬件开发环境,再在其上构建AI应用。比如选择构建OpenCV 4.4,pyTorch 1.6和1.7,Tensorflow 2.1,然后在上面跑yolo v5应用,用intel NCS2加速等等…