【云驻共创】在ModelArts中如何使用OBS

举报
红目香薰 发表于 2023/07/21 17:17:49 2023/07/21
【摘要】 本文对ModelArts与对象存储服务OBS都进行了一定的阐述,并且对如何交互两者之间的文件做了较为详细的说明,通过ModelArts与对象存储服务OBS关系表说明了两者之间存在的交互场景。

前言

为了更加详细的表述整个过程,我这里分化的步骤比较多,从最开始的应用在何处打开,以及如何创建,如何上传资源,如何下载资源,甚至是如何打包操作我都做了详细的介绍,文章内容较多,且较为细致,希望能给大家在操作ModelArts中提供更好的OBS服务。

主页地址:https://support.huaweicloud.com/

ModelArts与对象存储服务的关系

ModelArts使用对象存储服务(Object Storage Service,简称OBS)存储数据和模型,实现安全、高可靠和低成本的存储需求。OBS的更多信息请参见《对象存储服务控制台指南》

功能

子任务

ModelArts与OBS的关系

自动学习

数据标注

ModelArts标注的数据存储在OBS中。

自动训练

训练作业结束后,其生成的模型存储在OBS中。

部署上线

ModelArts将存储在OBS中的模型部署上线为在线服务。

AI全流程开发

数据管理

  • 数据集存储在OBS中。
  • 数据集的标注信息存储在OBS中。
  • 支持从OBS中导入数据。

开发环境

Notebook实例中的数据或代码文件存储在OBS中。

训练模型

  • 训练作业使用的数据集存储在OBS中。
  • 训练作业的运行脚本存储在OBS中。
  • 训练作业输出的模型存储在指定的OBS中。
  • 训练作业的过程日志存储在指定的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控制台操作

  1. 登录ModelArts管理控制台,在左侧导航栏中选择“开发环境 > Notebook”,进入“Notebook”新版管理页面。
  2. 选择运行中的Notebook实例,单击实例名称,进入Notebook实例详情页面,在“存储配置”页签,单击“添加数据存储”,设置挂载参数。
    1. 设置本地挂载目录,在“/data/”目录下输入一个文件夹名称,例如:demo。挂载时,后台自动会在Notebook容器的“/data/”目录下创建该文件夹,用来挂载OBS文件系统。
    2. 选择存放OBS并行文件系统下的文件夹,单击“确定”
    3. 挂载成功后,可以在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

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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