文档中心 > 步骤2:发起训练
步骤2:发起训练

最近更新时间:2021-06-07

使用Tensorflow框架实现MNIST手写数字识别。

1 数据集准备

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或者训练任务进行模型训练。

2 使用Notebook进行训练

在Notebook中,您可以在Jupyter Lab环境下,编写、调试代码,完成训练、离线预测,并保存模型。

2.1 上传Notebook训练代码

本例将训练代码上传到本地存储中。

数据文件->本地存储下,新建文件夹例如/mnist-code/mnist-notebook。

请下载Notebook的训练代码mnist-notebook-demo.ipynb并上传到/mnist-code/mnist-notebook文件夹下。这是Notebook需要的训练代码。

2.2 创建Notebook实例

选择左侧“Notebook”,点击“创建实例”,在弹窗中填写实例名称等配置,如下:

  • 实例名称:notebook-mnist-demo

  • 存储路径:本地存储:/mnist-code/mnist-notebook/(存放Notebook训练代码的路径)

  • 数据来源:本地存储:/mnist-data

  • 资源池:公共资源池

  • 资源套餐:CPU_4核8GiB

点击确定后,即可完成Notebook实例创建。

2.3 打开Jupyter Lab进行代码调试

  • 创建了一个实例叫做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/路径下看到保存的预测模型,此模型可直接用于在线服务。

2.4 停止Notebook

在Notebook列表页,点击操作列的“停止”按钮,停止训练完成的notebook-mnist-demo实例,避免扣费。

3 使用训练任务进行训练

本例将训练代码上传到本地存储中。

数据文件->本地存储下,新建文件夹/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/路径下。