最近更新时间:2021-06-07
使用Tensorflow框架实现MNIST手写数字识别。
MNIST数据集实现手写数字识别问题是机器学习/深度学习的入门课程,属于典型的图像分类问题。
MNIST数据集作为一个简单的计算机视觉数据集,包含一系列如下图所示的手写数字图片和对应的标签。图片是28x28的像素矩阵,标签则对应着0~9的10个数字。每张图片都经过了大小归一化和居中处理。
MNIST数据集的官方下载地址为:http://yann.lecun.com/exdb/mnist/ 包含训练和测试数据。
Training set images: train-images-idx3-ubyte.gz (9.9MB,包含 60,000 个样本)
Training set labels: train-labels-idx1-ubyte.gz (29KB,包含 60,000 个标签)
Test set images: t10k-images-idx3-ubyte.gz (1.6MB,包含 10,000 个样本)
Test set labels: t10k-labels-idx1-ubyte.gz (5KB,包含 10,000 个标签)
请下载上述4个压缩包数据到本地,数据集可上传到本地存储或者对象存储中,本例将数据上传到本地存储中。
在控制台数据文件->本地存储下,新增例如名称为mnist-data的文件夹,将上述数据上传到mnist-data文件夹下。
可以使用Notebook或者训练任务进行模型训练。
在Notebook中,您可以在Jupyter Lab环境下,编写、调试代码,完成训练、离线预测,并保存模型。
本例将训练代码上传到本地存储中。
在数据文件->本地存储下,新建文件夹例如/mnist-code/mnist-notebook。
请下载Notebook的训练代码mnist-notebook-demo.ipynb并上传到/mnist-code/mnist-notebook文件夹下。这是Notebook需要的训练代码。
选择左侧“Notebook”,点击“创建实例”,在弹窗中填写实例名称等配置,如下:
实例名称:notebook-mnist-demo
存储路径:本地存储:/mnist-code/mnist-notebook/(存放Notebook训练代码的路径)
数据来源:本地存储:/mnist-data
资源池:公共资源池
资源套餐:CPU_4核8GiB
点击确定后,即可完成Notebook实例创建。
创建了一个实例叫做notebook-mnist-demo,等待实例状态为“运行中”,点击“打开Jupyter”按钮,启用Jupyter Lab。
新打开的Jupyter Lab环境中,当面目录./即是2.2节中配置的存储路径,此存储路径读写挂载到当前路径。
../data文件夹下,是您的mnist-data数据集,此数据集只读挂载。
双击打开mnist-notebook-demo.ipynb,选择Tensorflow-v1.12.0-py27的kernal,单步调试或者"Run All Cells"执行结束后,您可以看到,它实现了用tensorflow进行手写数字模型训练,并将训练好的模型保存到./output/model/下。
Notebook会不断将当前路径下的内容同步到您的本地存储路径/mnist-code/mnist-notebook/下面。您可以在本地存储/mnist-code/mnist-notebook/output/model/路径下看到保存的预测模型,此模型可直接用于在线服务。
在Notebook列表页,点击操作列的“停止”按钮,停止训练完成的notebook-mnist-demo实例,避免扣费。
本例将训练代码上传到本地存储中。
在数据文件->本地存储下,新建文件夹/mnist-code/mnist-train,请下载训练代码mnist-train-demo.py,并上传到/mnist-code/mnist-train文件夹下。这是训练任务需要的训练代码。
在数据文件->文件管理下,新建文件夹/mnist-code/mnist-train-output,存放训练模型输出。
选择左侧“训练任务”,点击“创建任务”,进入新建任务弹窗。在弹窗中填写任务名称等配置,如下:
任务名称:job-mnist-demo
任务版本:v0.0.1
算法来源:自定义算法
计算框架:Tensorflow-v1.12.0-py27
算法文件路径:本地存储:/mnist-code/mnist-train/(存放训练任务代码的路径)
启动命令:python mnist-train-demo.py
数据来源:本地存储:/mnist-data
训练输出路径:/mnist-code/mnist-train-output
分布式训练模式:单机
资源池:公共资源池
资源规格:CPU_4核8GiB
点击确定后,即可创建训练任务。
等待训练任务完成后,任务状态为“已成功”。
此训练代码将模型保存在训练输出路径/{job-ID}-{VERSION}/model/路径下,即模型在本地存储/mnist-code/mnist-train-output/job-mnist-demo-v0.0.1/model/路径下。