人工智能开发中,OBSutil如何一键配置
说到云上存储,用的对多的还是对象存储,可以说是云上用的最多的持久化方案。
在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
- 点赞
- 收藏
- 关注作者
评论(0)