专属资源池最佳实践-Notebook与训练任务联动

举报
yangzilong 发表于 2022/07/16 15:32:45 2022/07/16
【摘要】 本文介绍了如何通过Notebook构建、调试代码,并放到训练任务里执行的过程。

本文档是ModelArts专属池使用的一个子场景。本场景下,我们使用Notebook来承载调测阶段、ModelArts训练任务来承载批量运行阶段。

 

场景特点:

Notebook通过容器实例提供调试用算力资源。因华为云的安全要求,交互式环境不能直接提供root权限,必须以“ma-user”(user_id1000)登陆、使用资源。

Notebook提供一系列的预制镜像,镜像已经提供了基础的cuda驱动、condapython、人工智能引擎主流版本(TensorFlowPyTorch)及其依赖。

Notebook提供镜像保存能力,支持客户固化对镜像环境的修改和变化。

Notebook提供ssh登陆能力,支持客户使用VS Code等插件远程登陆、调测。

Notebook和开发环境可以通过NFS来共享一个文件夹,支持对应文件夹内的文件实时同步。

 

场景依赖:

已购买ModelArts训练专属资池,完成开发环境初始化操作,NAS VPC已经正确配置。

权限已经合理设置,拥有SFS Turbo服务的普通权限及细粒度权限“sfsturbo:*:dataAction”。

 

实践流程:

调测阶段:

1.创建Notebook实例

访问链接: https://console.huaweicloud.com/modelarts/?region=cn-north-4#/dev-container

点击“创建”按钮,并使用专属池资源创建Notebook实例。镜像选择公共镜像“pytorch 1.8”,存储选择“弹性文件服务SFS”。创建配置如截图:

注:如需使用ssh登陆及VS Code工具远程开发,请参考博客:https://bbs.huaweicloud.com/blogs/280541

打开Notebook实例,并打开terminal

2.下载代码、数据并进行调测

代码使用pytorch官方针对ImageNet的样例,github链接如:https://github.com/pytorch/examples;数据使用公开的猫狗数据集(裁剪版传送门)。

下载及解压命令如:

mkdir -p dog_cat_case
cd dog_cat_case
#wget https://raw.githubusercontent.com/pytorch/examples/main/imagenet/main.py
wget https://github.com/pytorch/examples/raw/0cb38ebb1b6e50426464b3485435c0c6affc2b65/imagenet/main.py
wget https://ma-sa.obs.cn-north-4.myhuaweicloud.com/yangzilong/demos/dog_cat_1w.zip
unzip dog_cat_1w.zip

安装环境,调试代码后,在Notebook里可以使用以下命令运行训练任务:

cd /home/ma-user/work/dog_cat_case
/home/ma-user/anaconda3/envs/PyTorch-1.8/bin/python main.py -a resnet50 -b 128 --epochs 5 dog_cat_1w/

3.保存运行环境

按照如下流程保存当前的Notebook环境。

 填写名称和备注:

对应的notebook实例可能3-10分钟不可用,需要耐心等待。保存完成后,就可以在SWR的对应组织中查看到相应的镜像,也可以在训练里查到对应的镜像。

注:

/cache及/home/ma-user/work两个目录的内容需要额外关注。/cache目录在训练会重新挂载,导致内容被覆盖;/home/ma-user/work目录的内容是notebook中挂载的,不会保存在容器镜像中。建议/cache目录不要存放任何数据,/home/user/work目录存放临时的数据和代码。

 

批量运行阶段:

1.创建训练任务

访问链接: https://console.huaweicloud.com/modelarts/?region=cn-north-4#/training

创建参数注意以下几项:

a.镜像tag:镜像tag要填写刚刚保存的Notebook镜像名称

b.启动命令:和Notebookterminal里测试使用的一致,即:

cd /home/ma-user/work/dog_cat_case
/home/ma-user/anaconda3/envs/PyTorch-1.8/bin/python main.py -a resnet50 -b 128 --epochs 5 dog_cat_1w/

c.云存储的挂载路径:和Notebook里挂载的工作目录一致,即“/home/ma-user/work”。

2.查看训练任务执行详情

在任务列表页点击任务名即可进入详情页。页面会显示任务的日志情况和GPU利用率情况。

若日志会同步存储在SFS盘中,可以在Notebook里使用tensorboard(使用官方提供的pytorch镜像)进行日志的实时分析。

3.重建训练任务

根据研发需要,对代码、配置进行修改(使用Notebook,或ECS挂载SFS盘的方式(注意linuxuid需要是1000)),并重建训练任务。重建任务方法如截图:

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。