【脑洞大赛培训】基于Tensorflow 的树莓派软件学习
【树莓派软件学习小组第二课】蘑菇云树莓派软件学习小组第二课——基于Tensorflow 的数字识别内容简介:
用scratch3做一个四位数的手写数字,传输到树莓派上,利用基于Tensorflow的神经网路模型进行识别。
课程内容
[*]了解人工智能的基础知识及应用
[*]学习如何利用网上的Tensorflow模型
[*]跟着做出一个能够使用的数字识别示例
课程正文:
前期知识:
1. 什么是深度学习
[*]AI联结派 vs. 符号派
[*]机器学习 vs.人工规则
[*]监督学习 vs. 无监督学习 vs. 强化学习
[*]神经网络 vs. 决策树 vs. 逻辑回归等
2.深度学习基本概念
[*]数据: 特征和标签 (X和Y)
[*]模型
[*]参数
[*]训练
[*]推断
3.深度学习基本流程
[*]人工收集数据
[*]人工定义模型结构
[*]使用收集的数据训练模型参数
[*]使用模型进行推断
4.什么是tensorflow
[*]Google出品的深度学习框架
[*]支持多种编程语言,多种硬件平台
[*]v1.0 静态图 ——> v2.0动态图
5.如何学习TensorFlow
[*]传统方法:
[*]数学: 线性代数 + 概率统计
[*]机器学习课程
[*]深度学习课程
[*]TensorFlow文档
[*]在项目中使用TensorFlow
[*]推荐方法:
[*]了解TensorFlow可以做什么
[*]在项目中使用预训练TensorFlow模型
[*]进行数据收集和训练
[*]尝试改进模型的网络结构
[*]尝试搭建自己的模型
6.演示项目
[*]在树莓派上跑一个预训练的TF模型
[*]下载预训练的验证码识别模型
[*]Scratch中手写字母和数字
[*]树莓派CPU运行模型进行识别
(1)系统下载
直接连上树莓派使用git命令(如何连接树莓派请自由探索。)
git clone https://github.com/augustye/scratch-ai
手动安装依赖与需要的包清单:
cat scratch-ai/install/raspberry_pi.sh
(2)启动服务器程序
python3 scratch-ai/server.py
当树莓派出现了,说明启动成功。
(3)打开Scratch网址:使用在线 Scratch:
192.168.3.103替换为树莓派ip地址,原理是浏览器来给树莓派发送图片的base64编码。
(4)打开scratch程序
文件 -- 从电脑中上传 -- static/draw.sb3
(5)手写和识别
在右边的输入框输入四位验证码,目前只支持四位,如果3个数字也是识别出来四位。
树莓派上就会完整显示四位的验证码。
7.原理
Scratch -> Web Server -> Python Function -> TensorFlow
Scratch 浏览器中传送数据到树莓派的Web Server,然后树莓派上的Python 脚本会获取收到的图像,调用TensorFlow来做识别。
[*]TensorFlow调用代码:
/models/mnist/predict.py
8.预训练模型的问题
[*]问题
[*]准确率的问题
[*]输入数据的格式限制
[*]改进
[*]迁移学习: 使用少量新数据进行微调
[*]从头学习: 大量收集数据并重新训练
9.脑洞:
[*]猜画小歌
[*]GAN从手绘生成照片
[*]手绘自动上色
[*]etc
一点一滴积累中
页:
[1]