本文主要是介绍paddle2.0高层API快速实现LeNet(MNIST手写数字识别),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- paddle2.0高层API快速实现LeNet(MNIST手写数字识别)
- DL万能公式
- 数据加载和预处理
- 查看数据
- 搭建LeNet-5卷积神经网络
- 网络模型可视化
- 模型配置
- 模型评估
- 模型预测
- 批量预测
- 单张图片预测
- 部署上线
- 保存模型
- 继续调优训练
- 保存预测模型
paddle2.0高层API快速实现LeNet(MNIST手写数字识别)
『深度学习7日打卡营·快速入门特辑』
零基础解锁深度学习神器飞桨框架高层API,七天时间助你掌握CV、NLP领域最火模型及应用。
-
课程地址
传送门:https://aistudio.baidu.com/aistudio/course/introduce/6771 -
目标
- 掌握深度学习常用模型基础知识
- 熟练掌握一种国产开源深度学习框架
- 具备独立完成相关深度学习任务的能力
- 能用所学为AI加一份年味
DL万能公式
import paddle
import numpy as np
import matplotlib.pyplot as pltpaddle.__version__
'2.0.0'
数据加载和预处理
import paddle.vision.transforms as T# 数据加载和预处理
# [0-255] -> [0-1]
transform = T.Normalize(mean=[127.5], std=[127.5])# 训练数据集
train_dataset = paddle.vision.datasets.MNIST(mode='train', transform=transform)# 评估数据集
eval_dataset = paddle.vision.datasets.MNIST(mode='test', transform=transform)print(f"训练集样本量:{len(train_dataset)},验证集样本量:{len(eval_dataset)}")
训练集样本量:60000,验证集样本量:10000
查看数据
%matplotlib inlineplt.figure()
plt.imshow(train_dataset[0][0].reshape([28, 28]), cmap=plt.cm.binary)
plt.show()
print("label:", train_dataset[0][1])
print("data shape:", train_dataset[0][0].shape)
label: [5]
data shape: (1, 28, 28)
搭建LeNet-5卷积神经网络
选用LeNet-5网络结构。
LeNet-5模型源于论文“LeCun Y, Bottou L, Bengio Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324.”,
论文地址:https://ieeexplore.ieee.org/document/726791
每个阶段用到的Layer
这篇关于paddle2.0高层API快速实现LeNet(MNIST手写数字识别)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!