蘑菇云创客空间 发表于 2019-7-4 16:54:58

【脑洞大赛培训】基于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

安卓机器人 发表于 2019-7-4 18:15:04

一点一滴积累中
页: [1]
查看完整版本: 【脑洞大赛培训】基于Tensorflow 的树莓派软件学习