云服务器内容精选

  • 处理方法 如果是限流问题,日志中还会有如下错误,OBS相关的错误码解释请参见OBS官方文档,这种情况建议提工单。 图2 错误日志 如果是client数太多,尤其对于5G以上文件,OBS接口不支持直接调用,需要分多个线程分段拷贝,目前OBS侧服务端超时时间是30S,可以通过如下设置减少进程数。 # 设置进程数 os.environ['MOX_FILE_LARGE_FILE_TASK_NUM']=1 import moxing as mox # 拷贝文件 mox.file.copy_parallel(src_url=your_src_dir, dst_url=your_target_dir, threads=0, is_processing=False) 创建训练作业时,可通过环境变量“MOX_FILE_PARTIAL_MAXIMUM_SIZE”设置用户需要分段下载的大文件阈值(单位为Bytes),超过该阈值的文件将使用并发下载模式进行分段下载。
  • 处理方法 读取文件报错,您可以使用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
  • 问题现象 创建训练作业如何读取“json”和“npy”文件。 训练作业如何使用cv2库读取文件。 如何在MXNet环境下使用torch包。 训练作业读取文件,出现如下报错: NotFoundError (see above for traceback): Unsucessful TensorSliceReader constructor: Failed to find any matching files for xxx://xxx
  • 检查报错的路径是否存在 由于用户本地开发的代码需要上传至ModelArts后台,训练代码中涉及到依赖文件的路径时,用户设置有误的场景较多。 推荐通用的解决方案:使用os接口得到依赖文件的绝对路径,避免报错。 示例: |---project_root #代码根目录 |---BootfileDirectory #启动文件所在的目录 |---bootfile.py #启动文件 |---otherfileDirectory #其他依赖文件所在的目录 |---otherfile.py #其他依赖文件 在启动文件中,建议用户参考以下方式获取依赖文件所在路径,即示例中的otherfile_path。 import oscurrent_path = os.path.dirname(os.path.realpath(__file__)) # BootfileDirectory, 启动文件所在的目录project_root = os.path.dirname(current_path) # 工程的根目录,对应ModelArts训练控制台上设置的代码目录otherfile_path = os.path.join(project_root, "otherfileDirectory", "otherfile.py")
  • 检查报错的路径是否为OBS路径 使用ModelArts时,用户数据需要存放在自己OBS桶中,但是训练代码运行过程中不能使用OBS路径读取数据。 原因: 训练作业创建成功后,由于在运行容器直连OBS服务进行训练性能很差,系统会自动下载训练数据至运行容器的本地路径。所以,在训练代码中直接使用OBS路径会报错。 如果报错路径为训练数据路径,需要在以下两个地方完成适配,具体适配方法请参考自定义算法适配章节的输入输出配置部分: 在创建算法时,您需要在输入路径配置中设置代码路径参数,默认为“data_url”。 您需要在训练代码中添加超参,默认为“data_url”。使用“data_url”当做训练数据输入的本地路径。