开源社区ipynb如何运行到ModelArts notebook上

举报
Qianzh 发表于 2021/08/13 15:21:31 2021/08/13
【摘要】 开源社区,例如Github或者码云,有很多优质notebook内容供大家做AI学习和探索,可是这些内容很多直接运行到ModelArt平台上都会报错,一般gap在哪?都需要哪些适配步骤?

1. 使用Notebook实例,两种方式

ModelArts CodeLab

ModelArts平台支持的云原生notebook,即开即用,免费算力。适合快速、临时使用
优点:免费,快速内容接入。缺点:资源受限使用。
ModelArts控制台->总览->开发工具
codelab

参考:https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0339.html

ModelArts Notebook

专业版Notebook实例,以更灵活的资源配置支持通用和专业级的AI开发与探索。适合专业场景并长期使用
优点:资源配置充足且灵活,例如存储、计算资源及镜像更多样化。缺点:实例生命周期需要自己管理
ModelArts控制台->开发环境->notebook

notebook-create

参考:https://support.huaweicloud.com/engineers-modelarts/modelarts_30_0004.html

2. 内容上传到Notebook实例上

Git clone, 直接对于要访问的代码仓库进行clone操作,例如可以在terminal中执行
cd /home/ma-user/work  # 该目录为持久化存储挂载的根目录
git clone https://github.com/ageron/handson-ml.git
通过wget直接在notebook中下载对应的notebook文件
cd /home/ma-user/work # 该目录为持久化存储挂载的根目录
wget https://zh-v2.d2l.ai/d2l-zh.zip
通过网页进行直接上传,小于100MB文件,适合小文件直接上传

upload-direct-jupyterlab

大文件需要通过对象存储(OBS)进行中转。适合大文件迁移,OBS公网上传大带宽,内网下载网络黑科技
  1. 上传内容到OBS
  2. 下载OBS内容到Notebook中
    参考:https://support.huaweicloud.com/engineers-modelarts/modelarts_30_0010.html

实操试一下? Run in ModelArts

3. 打开并运行Notebook内容,notebook文件大多以ipynb文件作为后缀,完成运行环境差异适配

根据ipynb文件内容,选择合适的Kernel。

notebook实例中一般预置了一个或者多个IPython Kernel,每个kernel对应一个独立已经预装AI引擎并配置好的Conda env,可以直接作为IPython的运行环境
select-kernel

运行依赖按需进行补充

社区的notebook文件很多没法直接运行,原因大多在于ipynb发布者的环境和真实运行的环境依赖不一致导致,首先要确保notebook中依赖的内容都已经正常的安装。依赖安装可以通过pip或者conda的方式进行安装。以动手学深度学习的notebook为例,这些案例均无法直接在ModelArts notebook实例中直接运行,需要额外添加一个notebook cell,用于安装d2l的package

pip install d2l

注:pip源在实例上已经配置好,直接可用。conda源需要用户手工配置,建议调测状态下可以配置为清华源。

configure-conda

如果安装或升级后依然找不到依赖,建议执行 restart kernel强制生效

参考:https://support.huaweicloud.com/engineers-modelarts/modelarts_30_0021.html

数据环境不一致

国内的网络下载大部分数据集、预训练模型是可以的,直接在notebook中通过wget的方式能够进行下载。例如

cd /home/ma-user/work
wget https://zh-v2.d2l.ai/d2l-zh.zip

wget-notebook

但是对于google drive或者百度网盘这种,一般无法直接通过wget命令下载的内容,需要首先进行下载,再通过OBS中转到notebook中,并且根据代码内容,放置到指定目录完成内容加载。参考大文件上传

硬件环境适配

notebook运行有些会依赖GPU等AI计算硬件,需要对应进行匹配,否则无法直接运行,例如ModelArts提供CPU、GPU、Ascend等规格供选择,ModelArts Notebook通过console页面创建的实例中,可以在停止状态下修改规格;或者在ModelArts CodeLab中,可以通过规格切换到指定的计算规格上去。

代码适配

开源社区中,例如github,星象比较好的内容一般质量较高,但是也经常中间会有一些bug,如果运行有问题,需要结合调试输出或日志查看。

最后一步,分享出来让小伙伴学习一下?

ModelArts提供的一键分享功能可以方便的进行ipynb文件的分享和协作。创建分享后,任何人都可以通过分享的链接在ModelArts CodeLab中直接打开查看并运行已分享内容。建议分享到AI Gallery让更多的同学都能看到:-)
share-to-gallery

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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