人工智能开发中,OBSutil如何一键配置

举报
yangzilong 发表于 2021/06/30 20:19:59 2021/06/30
【摘要】 在ModelArts服务里进行模型训练时,也要经常用到OBS:在开发环境里,客户可能会需要把数据倒到OBS中;在训练任务中,需要从OBS获取训练数据并保存训练输出到OBS。有没有一个比较好的OBS使用方案呢?

说到云上存储,用的对多的还是对象存储,可以说是云上用的最多的持久化方案。

在ModelArts服务里进行模型训练时,也要经常用到OBS:在开发环境里,客户可能会需要把数据倒到OBS中;在训练任务中,需要从OBS获取训练数据并保存训练输出到OBS。有没有一个比较好的OBS使用方案呢?

我个人觉得,OBSutil就是能看到的脚本开发人员用起来最舒服的工具了。该工具的详细介绍见:https://support.huaweicloud.com/utiltg-obs/obs_11_0001.html

基础使用

主要讲一下如何一键在对应环境上配置OBSutil工具。具体见下面的代码,然后复制到对应环境执行即可。

utils_base='/home/ma-user'
mkdir -p $utils_base 
cd $utils_base
wget https://obs-community.obs.cn-north-1.myhuaweicloud.com/obsutil/current/obsutil_linux_amd64.tar.gz
tar -xzvf obsutil_linux_amd64.tar.gz
mv obsutil_linux_amd64_*/ utils
alias obsutil=$utils_base"/utils/obsutil"
cd -

注意,其中'/home/ma-user'目录可以按需求自主修改,只要保证该目录可以正常创建、使用、及添加子文件夹即可。结合SFS盘使用时,把工具放到SFS盘的某目录即可。

初次使用前需要进行配置,配置时替换样例代码的"${AK}"和${SK}内容。样例代码如:

obsutil config -i=${AK} -k=${SK} -e=obs.myhuaweicloud.com

在Notebook里使用时,可以固化快捷命令,方法如下。配置后保存镜像即可完成固化,保存镜像参考文档

echo "alias obsutil='/home/ma-user/utils/obsutil'" >> ~/.bashrc

具体使用时,用如下命令即可:

#列举桶列表
obsutil list
#列举桶文件
obsutil list obs://bucket_name/bucket_dir
#本地-OBS文件互传
obsutil cp -r -f local_dir/ obs://bucket_name/bucket_dir 
obsutil cp -r -f obs://bucket_name/bucket_dir local_dir/ 

如果我们发现obsutil找不到的时候,重新执行“alias obsutil='/opt/utils/obsutil'”命令即可,或者把对应命令放到bashrc里。

并发传输配置

针对数据集里小文件较多的场景,建议在obsutil的参数里增加"-j 64"来增大下载并发,一般按每逻辑核4并发来配置。针对8卡V100的ModelA
增加以后,整体命令如“/opt/utils/obsutil cp -r -f -j 64 ${DATA_URL} /cache/data”。执行后,obsutil的下载进度条如下:

[---------------->______________] 54.75% tps:336.29 300.60MB/s 134.25K/251.15K 25.70GB/46.95GB 1m12s

其中“tps:336.29”表示每秒下载文件336.29个,“300.60MB/s”表示下载速度300MB。当下载速度低于10MB且tps稳定在300左右的时候,就需要考虑增加-j参数来减小下载时长。

若下载并发非常高,可能会导致部分文件下载失败。建议降低到一个合适的并发来进行下载。或者通过二次下载来规避,二次下载命令需要增加"-u"参数,整体命令如"/opt/utils/obsutil cp -r -f -u -j 64 ${DATA_URL} /cache/data"。

AKSK配置

最后,AKSK的获取可用参考文档,或按下图流程来执行:

无AKSK下载

因为AKSK是敏感信息,可能不适合在所有场景使用。此部分介绍一下通过分享链接下载的方法。

1.获取分享链接:

通过console可以获取18h有效地链接,通过obs browser可以获取任意时长有效的链接。obs browser的分享操作如下图。

通过obsutil获取下载链接,可以参考文档。可用命令如:

obsutil create-share obs://bucket_name/bucket_dir/ -ac=111111 -vp=10d

2.通过obsutil下载,详细使用可以参考文档

下载分项目录到"/cache/"目录的可用命令如:

obsutil share-cp https://e-share.xxxxxxxxxxxxxxxxxxxxx /cache/ -ac=111111 -r -f -j 256

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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