MoXing基本使用【我的华为云体验之旅】
学习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
- 点赞
- 收藏
- 关注作者
评论(0)