python数字识别bayes_OpenBayes 下识别手写数字

本文通过 MNIST 数据集,介绍如何在 OpenBayes 平台上使用 Pytorch 和 Tensorflow 进行手写数字识别模型的训练与推断。详细步骤包括代码获取、任务创建、模型训练以及模型评估,展示了两种框架在图像分类任务中的应用。
摘要由CSDN通过智能技术生成

了解过机器学习,尤其是最近几年大热的深度学习方法的朋友很可能有听过过 MNIST 这个数据集,数据集来自美国国家标准与技术研究所,National Institute of Standards and Technology (NIST)。训练集(training set)由来自 250 个不同人手写的数字构成,测试集(test set)也是同样比例的手写数字数据。

我们这里就借用这个数据集来介绍在 OpenBayes 中采用 Pytorch / Tensorflow 进行图片的分类。其中会使用到 OpenBayes 的数据集绑定、模型的训练以及模型的使用。

Tensorflow

获取代码

从 Github 下载样例代码:

git clone https://github.com/signcl/openbayes-mnist-example.git

cd openbayes-mnist-example/tensorflow

切换到所下载代码目录看到代码结构如下:

.

├── inference.py

├── openbayes.yaml

└── train.py

其中, .py 包含了执行机器学习模型训练和采用模型进行推断的代码

openbayes.yaml 包含了执行一个「Python 脚本」的配置,更多信息见 openbayes cli 配置文件

创建第一个任务 注意 这里介绍的是通过页面上传代码压缩包的流程,但是这已经不再是我们推荐的创建「Python 脚本」的最佳实践了,更好的方式参见 bayes 命令行工具入门。

数据集准备好后在页面左侧导航栏点击「新建算力容器」创建一个 Python 脚本执行的任务,采用 train.py 训练一个 TensorFlow 的手写识别模型。

在 “新建容器” 页面下算力选择 CPU,镜像选择 “tensorflow-1.14”,接入方式选择 Python 脚本执行,并将目录中 *.py 文件压缩上传。

在执行命令处输入命令:

python train.py -o /output -e 10 -m model.h5 -l ./tf_dir

其中: train.py 为用于模型训练的 py 文件

-o /output 指明 BayesGear 所要保存的文件目录为 /output,在 Python 脚本执行模式下,BayesGear 会将 /output 目录下的结果进行保存并上传,因此所有的输出结果都应保存在该目录下,其他目录下,甚至包含默认的 . 目录下的文件更新都将不会被保存

-e 10 指定了模型训练的 epoch 值

-m model.h5 指明的保存的模型的名称,当然结合 -o /output 参数,最终的训练模型会存储到 /output/model.h5 下

-l ./tf_dir 默认 ./tf_dir 指向 OpenBayes 取 TensorBoard 的目录

提交任务后等待 30 秒左右的时间任务将开始执行。任务开启的时间通常与所绑定数据集大小有关,所需数据集越大,容器执行准备时间越长。在容器页面可以看到日志所展示的执行情况。

点击「TensorBoard 可视化」可以通过 TensorBoard 查看执行中的模型信息。

查看执行的目录以及输出结果

执行完毕后,点击容器页面的「输出」选项卡可以看到我们所指定的模型已经创建好了。

用训练好的模型进行分类

在获取了训练模型后,我们就可以用其对数据进行分类预估了。在已经完成了的执行页面点击右上角的「继续执行」,进入新的执行构建页面。

这里将上一次的「输出」的绑定指向「input1」。更多有关「继续执行」的细节见容器的继续执行。

修改指定执行命令:

python inference.py -m /input1/model.h5

其中 -m /input1/model.h5 指定需要载入的模型的目录。提交并执行完毕后,可以看到日志中展示了对 10000 测试结果获取了 98% 的准确率。

Pytorch

获取代码

从 Github 下载样例代码:

git clone https://github.com/signcl/openbayes-mnist-example.git

cd openbayes-mnist-example/pytorch

切换到所下载代码目录看到代码结构如下:

.

├── openbayes.yaml

└── train.py

其中, .py 包含了执行机器学习模型训练和采用模型进行推断的代码

openbayes.yaml 包含了执行一个「Python 脚本」的配置,更多信息见 openbayes cli 配置文件

创建第一个任务 注意 这里介绍的是通过页面上传代码压缩包的流程,但是这已经不再是我们推荐的创建「Python 脚本」的最佳实践了,更好的方式参见 bayes 命令行工具入门。

数据集准备好后在页面左侧导航栏点击「新建算力容器」创建一个 Python 脚本执行的任务,采用 train.py 训练一个 TensorFlow 的手写识别模型。

在 “新建容器” 页面下算力选择 CPU(如果有其他 GPU 类型,推荐选择 GPU 类型,速度会快很多),镜像选择 “pytorch-1.6.0”,接入方式选择 Python 脚本执行,并将目录中 *.py 文件压缩上传。

在执行命令处输入命令:

python train.py

提交任务后等待 30 秒左右的时间任务将开始执行。任务开启的时间通常与所绑定数据集大小有关,所需数据集越大,容器执行准备时间越长。在容器页面可以看到日志所展示的执行情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值