华为云AI开发平台ModelArts读取文件报错,如何正确读取文件?_云淘科技
问题现象
创建训练作业如何读取“json”和“npy”文件。
训练作业如何使用cv2库读取文件。
如何在MXNet环境下使用torch包。
训练作业读取文件,出现如下报错:
NotFoundError (see above for traceback): Unsucessful TensorSliceReader constructor: Failed to find any matching files for xxx://xxx
原因分析
在ModelArts中,用户的数据都是存放在OBS桶中,而训练作业运行在容器中,无法通过访问本地路径的方式访问OBS桶中的文件。
处理方法
读取文件报错,您可以使用Moxing将数据拷贝至容器中,再直接访问容器中的数据。请参见步骤1。
您也可以根据不同的文件类型,进行读取。请参见读取“json”文件、读取“npy”文件、使用cv2库读取文件和在MXNet环境下使用torch包。
读取文件报错,您可以使用Moxing将数据拷贝至容器中,再直接访问容器中的数据。具体方式如下:
import moxing as mox mox.file.make_dirs('/cache/data_url') mox.file.copy_parallel('obs://bucket-name/data_url', '/cache/data_url')
读取“json”文件,请您在代码中尝试如下方法:
json.loads(mox.file.read(json_path, binary=True))
使用“numpy.load”读取“npy”文件,请您在代码中尝试如下方法:
使用MoXing API读取OBS中的文件
np.load(mox.file.read(_SAMPLE_PATHS['rgb'], binary=True))
使用MoXing的file模块对OBS文件进行读写
with mox.file.File(_SAMPLE_PATHS['rgb'], 'rb') as f: np.load(f)
使用cv2库读取文件,请您尝试如下方法:
cv2.imdecode(np.fromstring(mox.file.read(img_path), np.uint8), 1)
在MXNet环境下使用torch包,请您尝试如下方法先进行导包:
import os os.sysytem('pip install torch') import torch
父主题: OBS操作相关故障
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家