使用自定义镜像创建算法
针对您在本地或使用其他工具开发的算法,支持上传至ModelArts中统一管理。
创建算法入口
在ModelArts上基于自定义镜像创建算法有2个入口:
- 入口1:在ModelArts控制台AI Gallery。 入口,此处创建的算法可以在创建训练作业时直接使用,并且可以发布算法到
- 入口2:在ModelArts控制台使用自定义镜像创建训练作业(CPU/GPU)。 时,直接创建自定义算法,并提交训练作业。具体参见
创建算法参数设置
参数 |
说明 |
---|---|
启动方式 |
必选,选择“自定义”。 |
镜像 |
必选。容器镜像地址。
|
代码目录 |
可选,训练代码存储的OBS路径。 以选择了OBS路径“obs://obs-bucket/training-test/demo-code”作为代码目录为例,OBS路径下的内容会被自动下载至训练容器的“${MA_JOB_DIR}/demo-code”目录中,demo-code为OBS存放代码路径的最后一级目录,用户可以根据实际修改。 |
启动命令 |
必选,镜像的启动命令。在代码目录下载完成后,启动命令会被自动执行。
启动命令可支持使用“;”和“&&”拼接多条命令,但暂不支持换行拼接。命令中的demo-code为OBS存放代码路径的最后一级目录,用户可以根据实际修改。 |
输入输出管道设置
训练过程中,基于预置框架的算法需要从OBS桶或者数据集中获取数据进行模型训练,训练产生的输出结果也需要存储至OBS桶中。用户的算法代码中需解析输入输出参数实现ModelArts后台与OBS的数据交互,用户可以参考开发自定义脚本完成适配ModelArts训练的代码开发。
创建基于预置框架的算法时,用户需要配置算法代码中定义的输入输出参数。
- 输入配置
表2 输入配置 参数
参数说明
参数名称
根据实际代码中的输入数据参数定义此处的名称。此处设置的代码路径参数必须与算法代码中解析的训练输入数据参数保持一致,否则您的算法代码无法获取正确的输入数据。
例如,算法代码中使用argparse解析的data_url作为输入数据的参数,那么创建算法时就需要配置输入数据的参数名称为“data_url”。
描述
输入参数的说明,用户可以自定义描述。
获取方式
输入参数的获取方式,默认使用“超参”,也可以选择“环境变量”。
输入约束
开启后,用户可以根据实际情况限制数据输入来源。输入来源可以选择“数据存储位置”或者“ModelArts数据集”。
如果用户选择数据来源为ModelArts数据集,还可以约束以下三种:
添加
用户可以根据实际算法添加多个输入数据来源。
- 输出配置
表3 输出配置 参数
参数说明
参数名称
根据实际代码中的训练输出参数定义此处的名称。此处设置的代码路径参数必须与算法代码中解析的训练输出参数保持一致,否则您的算法代码无法获取正确的输出路径。
例如,算法代码中使用argparse解析的train_url作为训练输出数据的参数,那么创建算法时就需要配置输出数据的参数名称为“train_url”。
描述
输出参数的说明,用户可以自定义描述。
获取方式
输出参数的获取方式,默认使用“超参”,也可以选择“环境变量”。
添加
用户可以根据实际算法添加多个输出数据路径。
定义超参
使用预置框架创建算法时,ModelArts支持用户自定义超参,方便用户查阅或修改。定义超参后会体现在启动命令中,以命令行参数的形式传入您的启动文件中。
- 导入超参
- 编辑超参
为保证数据安全,请勿输入敏感信息,例如明文密码。
超参的参数说明参见表4。
表4 超参编辑参数 参数
说明
名称
填入超参名称。
超参名称支持64个以内字符,仅支持大小写字母、数字、下划线和中划线。
类型
填入超参的数据类型。支持String、Integer、Float和Boolean。
默认值
填入超参的默认值。创建训练作业时,默认使用该值进行训练。
约束
单击“约束”。在弹出对话框中,支持用户设置默认值的取值范围或者枚举值范围。
必需
选择是或否。
- 选择否,则在使用该算法创建训练作业时,支持在创建训练作业页面删除该超参。
- 选择是,则在使用该算法创建训练作业时,不支持在创建训练作业页面删除该超参。
描述
填入超参的描述说明。
超参描述支持大小写字母、中文、数字、空格、中划线、下划线、中英文逗号和中英文句号。
添加训练约束
用户可以根据实际情况定义此算法的训练约束。
- 资源类型:选择适用的资源类型,支持多选。
- 多卡训练:选择是否支持多卡训练。
- 分布式训练:选择是否支持分布式训练。
运行环境预览
创建算法时,可以打开创建页面右下方的运行环境预览窗口,辅助您了解代码目录、启动文件、输入输出等数据配置在训练容器中的路径。
后续操作
创建算法完成后,可以使用算法快速创建训练作业,详细操作请参见使用自定义镜像创建训练作业(CPU/GPU)。