更新时间:2024-03-21 GMT+08:00

创建训练作业参数

示例代码

在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权

  • 示例一:使用OBS存储位置创建训练作业参数
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    from modelarts.session import Session
    from modelarts.estimator import Estimator
    session = Session()
    estimator = Estimator(
                          modelarts_session=session,
                          framework_type='PyTorch',                                     # AI引擎名称
                          framework_version='PyTorch-1.0.0-python3.6',                  # AI引擎版本
                          code_dir='/bucket/src/',                                      # 训练脚本目录
                          boot_file='/bucket/src/pytorch_sentiment.py',                 # 训练启动脚本目录 
                          log_url='/bucket/log/',                                       # 训练日志目录
                          hyperparameters=[
                                           {"label":"classes",
                                            "value": "10"},    
                                           {"label":"lr",
                                            "value": "0.001"}
                                           ],
                          output_path='/bucket/output/',                                 # 训练输出目录
                          train_instance_type='modelarts.vm.gpu.p100',                   # 训练环境规格
                          train_instance_count=1)                                        # 训练节点个数
    job_config_instance = estimator.create_job_configs(config_name='my_job_config', inputs='/bucket/data/train/', config_desc='my job config')
    
  • 示例二:使用数据集创建训练作业参数
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    from modelarts.session import Session
    from modelarts.estimator import Estimator
    session = Session()
    estimator = Estimator(
                          modelarts_session=session,
                          framework_type='PyTorch',                                     # AI引擎名称
                          framework_version='PyTorch-1.0.0-python3.6',                  # AI引擎版本
                          code_dir='/bucket/src/',                                      # 训练脚本目录
                          boot_file='/bucket/src/pytorch_sentiment.py',                 # 训练启动脚本目录 
                          log_url='/bucket/log/',                                       # 训练日志目录
                          hyperparameters=[
                                           {"label":"classes",
                                            "value": "10"},    
                                           {"label":"lr",
                                            "value": "0.001"}
                                          ],
                          output_path='/bucket/output/',                                 # 训练输出目录
                          train_instance_type='modelarts.vm.gpu.p100',                   # 训练环境规格
                          train_instance_count=1)                                        # 训练节点个数
    job_config_instance = estimator.create_job_configs(config_name='my_job_config', dataset_id='4AZNvFkN7KYr5EdhFkH', dataset_version_id='UOF9BIeSGArwVt0oI6T', config_desc='my job config')
    

参数说明

表1 Estimator请求参数说明

参数

是否必选

参数类型

描述

modelarts_session

Object

会话对象,初始化方法见Session鉴权

train_instance_count

Long

训练作业worker的个数。

code_dir

String

训练作业的代码目录,如“/bucket/src/”。当填入model_name时不需要填写。

boot_file

String

训练作业的代码启动文件,需要在代码目录下,如“/bucket/src/boot.py”。当填入model_name时不需要填写。

model_name

Long

训练作业的内置算法模型名称。填入model_name后app_url与boot_file_url不需填写,framework_type和framework_version也不需要填写。

output_path

String

训练作业的输出位置。

hyperparameters

JSON Array

训练作业的运行参数,为label-value格式;当为自定义镜像训练作业的时候,此参数为容器环境变量。

log_url

String

训练作业的日志OBS输出路径URL,默认为空。如:“/usr/log/”

train_instance_type

Long

训练作业选择的资源规格。若选择在训练平台训练,请从查询资源规格列表接口获取。

framework_type

String

训练作业选择的引擎规格。请从查询引擎规格列表接口获取引擎规格。当填入model_name时不需要填写。

framework_version

String

训练作业选择的引擎版本。请从查询引擎规格列表接口获取引擎版本。当填入model_name时不需要填写。

job_description

String

训练作业的描述。

user_image_url

String

自定义镜像训练作业的自定义镜像的SWR-URL。如:“100.125.5.235:20202/jobmng/custom-cpu-base:1.0”

user_command

String

自定义镜像训练作业的自定义镜像的容器的启动命令。形式为:“bash /home/work/run_train.sh python /home/work/user-job-dir/app/train.py {python_file_parameter}”

表2 create_job_configs请求参数说明

参数

是否必选

参数类型

描述

config_name

String

训练作业参数名称。限制为1-20位只含数字、字母、下划线或者中划线的名称。当不填写时,默认会按日期动态生成。

config_desc

String

对训练作业的描述,默认为空,字符串的长度限制为[0,256]。

inputs

String

训练作业的OBS数据存储位置。

dataset_id

String

训练作业的数据集ID。应与dataset_version_id同时出现,但不可与inputs同时出现。

dataset_version_id

String

训练作业的数据集版本ID。应与dataset_id同时出现,但不可与inputs同时出现。

表3 create_job_configs成功响应说明

参数

类型

描述

TrainingJob

Object

训练对象。该对象包含config_name等属性,及对训练作业参数的查询、删除等操作,如可通过job_config_instance.config_name获取训练作业参数名称。