【云驻共创】在ModelArts中如何使用OBS
前言
为了更加详细的表述整个过程,我这里分化的步骤比较多,从最开始的应用在何处打开,以及如何创建,如何上传资源,如何下载资源,甚至是如何打包操作我都做了详细的介绍,文章内容较多,且较为细致,希望能给大家在操作ModelArts中提供更好的OBS服务。
主页地址:https://support.huaweicloud.com/
ModelArts与对象存储服务的关系
ModelArts使用对象存储服务(Object Storage Service,简称OBS)存储数据和模型,实现安全、高可靠和低成本的存储需求。OBS的更多信息请参见《对象存储服务控制台指南》。
功能 |
子任务 |
ModelArts与OBS的关系 |
---|---|---|
自动学习 |
数据标注 |
ModelArts标注的数据存储在OBS中。 |
自动训练 |
训练作业结束后,其生成的模型存储在OBS中。 |
|
部署上线 |
ModelArts将存储在OBS中的模型部署上线为在线服务。 |
|
AI全流程开发 |
数据管理 |
|
开发环境 |
Notebook实例中的数据或代码文件存储在OBS中。 |
|
训练模型 |
|
|
AI应用管理 |
训练作业结束后,其生成的模型存储在OBS中,创建AI应用时,从OBS中导入已有的模型文件。 |
|
部署上线 |
将存储在OBS中的模型部署上线。 |
|
全局配置 |
- |
获取访问授权(使用委托或访问密钥授权),以便ModelArts可以使用OBS存储数据、创建Notebook等操作。 |
ModelArts与OBS基本操作
本文先进行ModelArts的介绍,在了解ModelArts后,我们再配合OBS进行互通操作演示。
ModelArts应用位置
在官网中请直接在产品出搜索ModelArts即可在产品中搜索到AI开发平台ModelArts。
可以看到对应的主页,为了操作方便,我们可以直接进入管理控制台。
ModelArts引导流程
不熟悉的小伙伴们可以看看新手入门,这个操作过程还是比较连贯的。
创建一个新的Notebook
这里为了完整演示OBS的操作过程,我们来创建一个Notebook
我们用作测试,那么基本配置即可,点击立即创建。
直接提交
这里会有具体的费用显示
点击立即返回,回到Notebook下,稍等一下创建过程,之后点击打开即可。
进入到Notebook中,选择Pytorch-1.8即可。
向Notebook中拷贝OBS文件
这是我们需要的包,我们找到OBS服务后,根据OBS所提供的路径地址进行拷贝即可。
import moxing as mox
在官网中搜索obs产品,可以看到对应的对象存储服务OBS。
直接进入OBS的管理控制台。
这是我现有的OBS桶。
我们可以新建一个桶,上图的存储总量下就有【创建桶】的按钮。
根据自身情况选择权限
进入桶操作
OBS上传文件示例
点击上传对象,将我们要上传的文件拖拽或者选择到选择容器中即可。
这里上传了一个python的代码用作测试。
查看上传的python文件,可以看到后侧的操作中是提供了下载操作的。
OBS文件拷贝到ModelArts的Notebook中
路径说明,由于我们的OBS桶就是在华为的系统空间中,那么我们直接OBS://就是代表了我们的这个服务,在加上我们桶的名称即可找到对应的路径,最后加上文件在桶中的路径即可拼接出我们具体文件的路径了。
这是我们刚上传文件的具体路径:obs://mytestbosqwe8403000/main.py
需要引入到Notebook中,我们先引入包。
import moxing as mox
mox.file.copy('obs://mytestbosqwe8403000/main.py', './copyMain.py')
点击代码左侧的运行按钮即可将我们的文件复制到Notebook中
这种操作是相互的,我们也可以向桶内复制文件。
复制效果:
复制文件夹
在根目录下我们创建一个文件夹,向内拷贝一个文件。通过一下代码就可将这个文件夹拷贝至我们的桶。
mox.file.copy_parallel('./ToOBSCopy', 'obs://mytestbosqwe8403000/NewDir/')
拷贝效果:
向Notebook中复制压缩文件并解压
这里我们上传一个zip压缩文件。
直接复制到Notebook
我们要解压文件需要创建一个Terminal文件
直接进行解压操作
unzip UpLoadFiles.zip
解压后的文件
打开两个文件可以看到内容完整。
在Terminal就可以相当于在Linux下正常操作文件了,所以多的操作就不赘述了。
这是通过moxing实现notebook使用OBS文件的方式,平台还有两种方式,其一是可以把OBS的文件夹直接上传到notebook中,使用上传按钮即可。其二是动态挂载OBS并运行文件系统操作。这里我对第二种展开的说一下。
什么是动态挂载OBS并行文件系统
在运行态的Notebook容器中,采用动态挂载特性,将OBS对象存储模拟成本地文件系统。其本质是通过挂载工具,将对象协议转为POSIX文件协议。挂载后应用层可以在容器中正常操作OBS对象。
动态挂载适用于哪些使用场景
场景1:数据集预览和操作,将承载数据集的OBS挂载至Notebook中,可以像本地文件系统一样操作数据集。
场景2:在Notebook中训练时,可直接使用挂载至Notebook容器中的数据集。
动态挂载OBS并行文件系统有什么限制
OBS提供两种桶,对象存储(对象桶)和并行文件系统。
ModelArts的Notebook(新版)仅支持挂载OBS的并行文件系统,挂载至Notebook容器“/data/”的子目录下。
动态挂载OBS并行文件系统操作
方式1:通过ModelArts控制台操作
- 登录ModelArts管理控制台,在左侧导航栏中选择“开发环境 > Notebook”,进入“Notebook”新版管理页面。
- 选择运行中的Notebook实例,单击实例名称,进入Notebook实例详情页面,在“存储配置”页签,单击“添加数据存储”,设置挂载参数。
- 设置本地挂载目录,在“/data/”目录下输入一个文件夹名称,例如:demo。挂载时,后台自动会在Notebook容器的“/data/”目录下创建该文件夹,用来挂载OBS文件系统。
- 选择存放OBS并行文件系统下的文件夹,单击“确定”。
- 挂载成功后,可以在Notebook实例详情页查看到挂载结果。
总结
我们可以利用OBS来存储海量的应用数据以及代码文件,当我们需要应用的时候就可以当做一个网络U盘一样直接进行拷贝使用,并且这种拷贝功能是双向的,使用起来非常的方便。我们可以利用Pytorch进行拷贝操作,当遇到压缩文件的时候可以使用Terminal进行文件的解压以及压缩操作亦是非常的方便。
这里为大家准备了4个操作训练的操作步骤,希望能给大家提供到帮助。
1、 自动学习:https://support.huaweicloud.com/exemlug-modelarts/exeml-modelarts_0003.html
2、 数据管理:https://support.huaweicloud.com/dataprepare-modelarts/dataprepare-modelarts-0006.html
3、 训练模型:https://support.huaweicloud.com/develop-modelarts/develop-modelarts-0011.html
4、 应用管理:https://support.huaweicloud.com/inference-modelarts/inference-modelarts-0008.html
本文参与华为云社区【内容共创】活动第23期。
任务28:在ModelArts中如何使用OBS
- 点赞
- 收藏
- 关注作者
评论(0)