MoXing基本使用【我的华为云体验之旅】

黄生 发表于 2021/12/26 14:07:36 2021/12/26
【摘要】 学习AI开发,避免不了要使用训练数据,这样就少不了要使用OBS。不同于EVS这些块存储产品,OBS是对象存储。用OBS来存储训练数据,那是比较自然的。那有人要问了,为什么不是EVS,那我就要说了,OBS更便宜呀EVS可以更贵,更强,有用于数据库、AI计算的很快速的SSD型的EVS,IOPS和吞吐量都很高,但是比较贵了不如OBS便宜量又足。所以说,OBS是基于对象的海量存储服务,重点是支持海量...

学习AI开发,避免不了要使用训练数据,这样就少不了要使用OBS。

不同于EVS这些块存储产品,OBS是对象存储。

用OBS来存储训练数据,那是比较自然的。

那有人要问了,为什么不是EVS,那我就要说了,OBS更便宜呀

EVS可以更贵,更强,有用于数据库、AI计算的很快速的SSD型的EVS,IOPS和吞吐量都很高,但是比较贵了

不如OBS便宜量又足。

所以说,OBS是基于对象的海量存储服务,重点是支持海量。

桶,是OBS中存储对象的容器。而桶中的所有对象,都是处于统一逻辑层次哦,去除了文件系统中的多层级树形目录机构。

那我们看到的OBS里桶里有多层目录结构,应该只是为了我们方便使用展示的表面的形式吧。

好了,训练数据我们一般放在OBS上,那在开发时,需要将数据拿到计算端,或者是从一个公开的OBS,拿到另一个自己的OBS,

一般的做法是通过本地来中转,就是先从OBS下载至本地,然后利用OBS Browser+工具将所有数据上传至OBS。

而我们可以使用moxing来直接的传输,这里举例一个从计算端的存储与OBS之间的数据传输:

import moxing as mox

mox.file.copy_parallel('/home/ma-user/work/gesture_recognition_data/gesture-data', 'obs://ifantong')


INFO:root:pid: None.	1000/5401
INFO:root:pid: None.	2000/5401
INFO:root:pid: None.	3000/5401
INFO:root:pid: None.	4000/5401
INFO:root:pid: None.	5000/5401


输出代表拷贝的数量和过程

moxing 的例子代码可以参考:

https://support.huaweicloud.com/moxing-devg-modelarts/modelarts_11_0005.html

不过目前并不支持HTTP资源。

列举操作:(不递归列列举)

mox.file.list_directory('obs://xxbucket')

遗憾的是,如果是modelarts不能跨区域访问obs,比如北京4的modelarts访问华南广州的obs,

感觉这个不太合理,也许是我还不会....

【我的华为云体验之旅】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/309059

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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