DLC常见问题

本文汇总使用DLC模块遇到的常见问题、定位思路以及解决办法。

“exited with code 137”,遇到错误码137怎么办?

当您遇到错误码137时,如“xxx exited with code 137”,您可以尝试更换内存规格更大的实例,或增加worker数量,或修改您的代码中内存申请的数量。

image

Linux系统中,错误码137表示进程被SIGKILL信号强制中止了,最常见的原因是内存使用量过高,即OOM(Out Of Memory)错误。您可以结合任务详情中worker的内存水位来进一步判断内存不足的原因,或更换内存规格更大的实例,或增加worker数量,或修改您的代码中内存申请的数量。

DLC任务执行状态为已失败或已出队时该如何处理?

DLC的任务执行状态顺序为:

任务类型

任务执行状态顺序

使用按量计费资源提交DLC任务

使用灵骏智算竞价资源

创建中->竞价中->环境准备中->运行中->已成功/已失败/已停止

使用灵骏智算或通用计算公共资源

创建中->环境准备中->运行中->已成功/已失败/已停止

使用包年包月资源提交DLC任务

创建中->排队中->环境准备中->运行中->已成功/已失败/已停止

  • 当任务执行状态为环境准备中时如何处理?

    如果任务长时间处于环境准备中状态,可能是因为您创建的分布式训练任务配置了CPFS类型的数据集,但没有配置专有网络导致的。您需要重新创建分布式训练任务,配置CPFS类型数据集并配置专有网络,且选择的专有网络需要与CPFS一致,详情请参见创建训练任务

  • 当任务执行状态为已失败时如何处理?

    您可以在任务详情页面中,将鼠标悬浮到任务执行状态后的image.png,或者查看实例操作日志,来初步定位任务执行失败的原因,详情请参见查看训练详情

使用公共资源的DLC任务后期能调整为专属资源吗?

您需要重新创建任务来调整所使用的资源。您可以在原始任务操作列下单击克隆,以创建一个新的任务,该任务将复用原始任务的配置,避免重新输入和配置相同的参数。关于计费详情介绍,请参见分布式训练(DLC)计费说明

DLC中使用多机多卡如何设置?

您可以在创建DLC任务时,配置以下启动命令,更多配置详情,请参见创建训练任务

python -m torch.distributed.launch \ --nproc_per_node=2 \ --master_addr=${MASTER_ADDR} \ --master_port=${MASTER_PORT} \ --nnodes=${WORLD_SIZE} \ --node_rank=${RANK} \ train.py --epochs=100

如何将在PAI-DLC平台训练得到的模型下载到本地?

您可以在提交DLC训练任务时绑定数据集,完成训练后,模型文件会被保存在挂载的数据集目录中。您也可以直接访问相应的文件系统并从中下载模型文件到本地。