华为云AI开发平台ModelArts使用MoXing复制数据报错_云淘科技

问题现象

调用moxing.file.copy_parallel()将文件从开发环境拷贝到桶里,但是桶内没有出现目标文件。
使用MoXing复制数据不成功,出现报错。如:

ModelArts开发环境使用MoXing复制OBS数据报错:keyError: ‘request-id’
ModelArts使用MoXing拷贝报错:No files to copy
socket.gaierror: [Errno -2] Name or service not known
ERROR:root:Failed to call:

func=<bound method ObsClient.getObject of >

args=(‘bucket’, ‘data/TFRecord/HY_all_inside/no_adjust_light_3/09_06_6x128x128_0000000212.tfrecord’)

使用MoXing复制数据报错,提示超时。如:

报错:TimeoutError: [Errno 110] Connection timed out
WARNING:root:Retry=9,Wait=0.1, Timestamp = 1567152567.5327423

原因分析

当使用MoXing复制数据不成功,可能原因如下:

源文件不存在。
复制的两个OBS路径不正确或者不在在同一区域。
训练作业空间不足。

处理方法

按照报错提示,需要排查以下几个问题:

检查moxing.file.copy_parallel()的第一个参数中是否有文件,否则会出现报错:No files to copy

文件存在,请执行2。
文件不存在,请忽略该报错继续执行后续操作。

检查复制的OBS的路径是否与开发环境或训练作业在同一个区域。

进入ModelArts管理控制台,查看其所在区域。然后再进入OBS管理控制台,查看您使用的OBS桶所在的区域。查看是否在同一区域。

是,请执行3。
否,请在ModelArts同一区域的OBS中新建桶和文件夹,并将所需的数据上传至此OBS桶中。

检查OBS的路径是否正确,是否写为了“obs://xxx”。可使用如下方式判断OBS路径是否存在。

mox.file.exists(‘obs://bucket_name/sub_dir_0/sub_dir_1’)

路径存在,请执行4。
路径不存在,请在更换为一个可用的OBS路径。

检查使用的资源是否为CPU,CPU的“/cache”与代码目录共用10G,可能是空间不足导致,可在代码中使用如下命令查看磁盘大小。

os.system(‘df -hT’)

磁盘空间满足,请执行5。
磁盘空间不足,请您使用GPU资源。

如果是在Notebook使用MoXing复制数据不成功,可以在Terminal界面中使用df -hT命令查看空间大小,排查是否因空间不足导致,可在创建Notebook时使用EVS挂载。

如果代码写作正确,仍然无法解决该问题,请提交工单,由专业工程师为您分析并解决问题。

父主题: MoXing

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家