【脑洞大赛培训】基于Tensorflow 的树莓派软件学习

2019-07-044630
AI 快速预览详细 收起
本文介绍了基于Tensorflow的树莓派数字识别项目。首先,通过Scratch3制作四位数的手写数字,然后将数据传输到树莓派。接着,利用预训练的Tensorflow模型进行识别。课程内容包括深度学习基础知识、Tensorflow框架介绍、预训练模型的使用方法及改进方案。适合STEM教育和编程启蒙,能够帮助孩子理解人工智能的基本概念,并动手实践。
【树莓派软件学习小组第二课】

蘑菇云树莓派软件学习小组第二课
——基于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命令(如何连接树莓派请自由探索。)
[mw_shl_code=applescript,true]git clone https://github.com/augustye/scratch-ai[/mw_shl_code]
手动安装依赖与需要的包清单:
[mw_shl_code=applescript,true]cat scratch-ai/install/raspberry_pi.sh[/mw_shl_code]

(2)启动服务器程序
[mw_shl_code=applescript,true]python3 scratch-ai/server.py[/mw_shl_code]
当树莓派出现了,说明启动成功。
【脑洞大赛培训】基于Tensorflow 的树莓派软件学习图1

(3)打开Scratch网址:使用在线 Scratch:
ž192.168.3.103替换为树莓派ip地址,原理是浏览器来给树莓派发送图片的base64编码。
【脑洞大赛培训】基于Tensorflow 的树莓派软件学习图2

(4)打开scratch程序
ž文件 -- 从电脑中上传 -- static/draw.sb3
【脑洞大赛培训】基于Tensorflow 的树莓派软件学习图3

(5)手写和识别
在右边的输入框输入四位验证码,目前只支持四位,如果3个数字也是识别出来四位。
【脑洞大赛培训】基于Tensorflow 的树莓派软件学习图4

树莓派上就会完整显示四位的验证码。

7.原理
Scratch -> Web Server -> Python Function -> TensorFlow
Scratch 浏览器中传送数据到树莓派的Web Server,然后树莓派上的Python 脚本会获取收到的图像,调用TensorFlow来做识别。

  • TensorFlow调用代码:
ž/models/mnist/predict.py
【脑洞大赛培训】基于Tensorflow 的树莓派软件学习图5

8.预训练模型的问题
  • ž问题
  • —准确率的问题
  • —输入数据的格式限制

  • ž改进
  • —迁移学习: 使用少量新数据进行微调
  • —从头学习: 大量收集数据并重新训练

9.脑洞:
  • ž猜画小歌
  • žGAN从手绘生成照片ž
  • ž手绘自动上色
  • etc

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
许培享
许培享
一点一滴积累中
- 没有更多了 -