第14课-CIFAR-10图像识别项目实战
如何基于云脑1和云脑2调试任务
hi,大家好,经历了前面多轮课程,相比大家已经对平台的各部分功能差不多都熟悉了,恭喜大家已经不再是当初那个小白啦~
今天我们通过平台演示一个猫狗图像识别的小项目,将前面所学到的知识串联起来加以巩固,开始向启智社区达人迈进!
猫狗识别是图像分类的经典案例之一,大家感兴趣的可以自行百度,此次就不过多介绍了。
本节课主要演示如何在云脑1和云脑2进行任务调试,大致内容如下:
代码和数据集上传
分别进入云脑1和云脑2环境调试任务
进入云脑2环境训练任务
话不多说,接下来进入猫狗图像识别的项目实操
一、新建项目并上传代码和数据集
1. 新建项目
在【个人中心】页面,点击页面右侧【项目列表】旁边的【+】,开始创建项目,填好相关信息,勾选✔初始化存储库,点击【创建项目】
2. 上传代码文件
项目创建后,在【代码】页面点击【上传文件】进入文件上传页面,在【添加目录】处输入目录名称(即文件夹名称),直接从本地将代码文件拖入上传框
(代码文件可自行从网上下载,或在OpenI_Learning项目进行下载,代码文件名【case_Cats and Dogs】)
此处上传了两个文件,case1代码表示从云脑1进行调试,case2代码表示从云脑2进行调试
3. 上传数据集
猫狗数据集可从Kaggle下载,也可以从OpenI_Learning项目下载,数据集名称【cifar-10-batches-py.zip】。
下载好数据集后,进入【数据集】页面,点击【CPU/GPU】选择云脑1,将数据集直接拖入上传框内,【Ascend NPU】为云脑2,分别上传数据集(云脑1和云脑2数据集不共用,所以需选择相应的环境上传数据集)
二、进入云脑环境调试任务
云脑1和云脑2都可以调试任务,这里我们依次进行演示。
1. 云脑1调试任务
a. 新建调试任务
在【个人中心】页面点击【云脑】,选择CPU/GPU(即云脑1环境),点击右侧按钮【新建调试任务】
进入新建任务页面,更改或默认任务名称,镜像要求基于Python 3.6+ 和PyTorch 1.0+的环境,可自行配置或选择已经配置好的其他环境,数据集选择对应已上传的数据集(可直接输入数据集名称关键词),其他选项默认即可
任务创建好后,等待十秒左右待状态从CREATING变为RUNNING,点击页面的【调试】进入调试环境
b. 进入云脑1环境
点击调试后,会跳转到云脑的调试环境
c. 云脑1环境调试任务
此时,大家可以进行自定义调试和运行代码了。
#ls
#cd /code/case1 (相应代码放在/code下,相应数据集放在/dataset下)
#python main.py
由于每个epoch要训练5万张,在1W张里面进行测试,运行过程会有点儿漫长,但云脑1的调试已经跑通,静等运行结束即可。
接下来我们演示从云脑2进行调试
2. 云脑2调试任务
a. 新建调试任务
同样地,在【云脑】页面下来【CPU/GPU】选项框,选择【Ascend NPU】,点击右侧按钮【新建调试任务】
进入新建任务页面,选择相应数据集,其他为默认即可,点击【新建任务】
调试任务创建完成后,稍等十秒,待状态变为RUNNING后,点击【调试】
b. 进入云脑2环境
点击调试后,进入调试界面,勾选相应数据集,点击【Sync OBS】进行同步后会弹出确认框,勾选✔【YES】即可,待页面提示成功,关闭即可
点击页面右侧的【New】,创建调试用的Notebook,选择【MindSpore】环境
此时,页面跳转到调试环境
c. 云脑2环境调试任务
我们先将代码克隆过来
在【个人中心】的【代码】界面,点击右侧按钮【复制链接】
回到调试界面,输入 !git clone 后粘贴链接
点击【Run】运行代码,提示克隆成功
接下来解压数据集,在代码中输入 !unzip + 文件名称,点击运行
最后,运行代码 !python OpenI_test/case2/train.py --dataset_path ./cifar-10-batches-bin/
三、云脑2训练任务
1. 新建训练任务
在云脑页面,选择【Ascend NPU】,点击【训练任务】,再点击【新建训练任务】
在弹出的任务创建页面中,选择数据集【cifar.zip】,指定文件中输入“case2/train.py”,其他默认即可,点击【新建任务】
2. 训练任务
点击了新建任务之后,待状态由INIT变为RUNNING之后,模型将开始启动训练,运行时长大约几分钟左右
3. 模型下载
当任务状态变为“COMPLETED”,表示任务训练成功并已结束。
点击操作栏的【模型下载】可下载模型
至此,我们已经在云脑环境(云脑1和云脑2)都顺利调试和训练了模型,通过这次项目实战,相信童鞋们又进一步熟悉了平台的强大功能,后面在实践自己项目时就可以得心应手了~