自动学习训练作业失败
训练作业创建成功,但是在运行过程中,由于一些故障导致作业运行失败。
首次请检查您的账户是否欠费。如果账号状态正常。请针对不同类型的作业进行排查。
- 针对图像分类、声音分类、文本分类的作业,排查思路请参见确保OBS中的数据存在、检查OBS的访问权限、检查图片是否符合要求。
- 针对物体检测作业,排查思路请参见确保OBS中的数据存在、检查OBS的访问权限、检查图片是否符合要求、检查标注框是否符合要求(物体检测)。
- 针对预测分析作业,排查思路请参见确保OBS中的数据存在、检查OBS的访问权限、预测分析作业失败的排查思路。
确保OBS中的数据存在
如果存储在OBS中的图片或数据被删除,且未同步至ModelArts自动学习或数据集中,则会导致任务失败。
建议前往OBS检查,确保数据存在。针对图像分类、声音分类、文本分类、物体检测等类型,可在自动学习的数据标注页面,单击“同步数据源”,将OBS中的数据重新同步至ModelArts中。
检查OBS的访问权限
如果OBS桶的访问权限设置无法满足训练要求时,将会出现训练失败。请排查如下几个OBS的权限设置。
- 当前账号具备OBS桶的读写权限(桶ACLs)
- 进入OBS管理控制台,选择当前自动学习项目使用的OBS桶,单击桶名称进入概览页。
- 在左侧菜单栏选择“访问权限控制>桶ACLs”,检查当前账号是否具备读写权限,如果没有权限,请联系桶的拥有者配置权限。
- 确保此OBS桶是非加密桶
- 进入OBS管理控制台,选择当前自动学习项目使用的OBS桶,单击桶名称进入概览页。
- 确保此OBS桶的加密功能关闭。如果此OBS桶为加密桶,可单击“默认加密”选项进行修改。
图1 OBS桶是否加密
- 确保归档数据直读功能关闭
- 进入OBS管理控制台,选择当前自动学习项目使用的OBS桶,单击桶名称进入概览页。
- 确保此OBS桶的归档数据直读功能关闭。如果此功能开启,可单击“归档数据直读”选项进行修改。
图2 关闭归档数据直读功能
- 确保OBS中的文件是非加密状态
上传图片或文件时不要选择KMS加密,否则会导致数据集读取失败。文件加密无法取消,请先解除桶加密,重新上传图片或文件。
图3 OBS桶中的文件未加密
检查标注框是否符合要求(物体检测)
目前物体检测仅支持矩形标注框。请确保所有图片的标注框为矩形框。
如果使用非矩形框,可能存在以下报错:
Error bandbox.
针对其他类型的项目(图像分类、声音分类等),无需关注此问题。
预测分析作业失败的排查思路
- 检查用于预测分析的数据是否满足要求。
由于预测分析任务未使用数据管理的功能发布数据集,因此当数据不满足训练作业要求时,会出现训练作业运行失败的错误。
建议检查用于训练的数据,是否满足预测分析作业的要求。要求如下所示,如果数据满足要求,执行下一步检查。如果不满足要求,请根据要求仅需数据调整后再重新训练。
- 文件规范:名称由以字母数字及中划线下划线组成,以'.csv'结尾,且文件不能直接放在OBS桶的根目录下,应该存放在OBS桶的文件夹内。如:“/obs-xxx/data/input.csv”。
- 文件内容:文件保存为“csv”文件格式,文件内容以换行符(即字符“\n”,或称为LF)分隔各行,行内容以英文逗号(即字符“,”)分隔各列。文件内容不能包含中文字符,列内容不应包含英文逗号、换行符等特殊字符,不支持引号语法,建议尽量以字母及数字字符组成。
- 训练数据:训练数据列数一致,总数据量不少于100条不同数据(有一个特征取值不同,即视为不同数据)。训练数据列内容不能有时间戳格式(如:yy-mm-dd、yyyy-mm-dd等)的数据。确保指定标签列的取值至少有两个且无数据缺失,除标签列外数据集中至少还应包含两个有效特征列(列的取值至少有两个且数据缺失比例低于10%)。训练数据的csv文件不能包含表头,否则会导致训练失败。当前由于特征筛选算法限制,标签列建议放在数据集最后一列,否则可能导致训练失败。
- 由于ModelArts会自动对数据进行一些过滤,过滤后再启动训练作业。当预处理后的数据不满足训练要求时,也会导致训练作业运行失败。
- 如果某一列空缺的比例大于系统设定的阈值(0.9),此列数据在训练时将被剔除。
- 如果某一列只有一种取值(即每一行的数据都是一样的),此列数据在训练时将被剔除。
- 对于非纯数值列,如果此列的取值个数等于行数(即每一行的数值都是不一样的),此列数据在训练时将被剔除。
经过上述过滤后,如果数据集不再满足第一点中关于训练数据的要求,则会导致训练失败或无法进行。建议完善数据后,再启动训练。
- 数据集文件有以下限制:
- 如果上述排查操作仍无法解决,请联系华为云技术支持。