• 沒有找到結果。

7.1 训练作业

7.1.1 训练作业调试

创建在线训练作业前,可先通过创建本地训练作业来进行调试,可以参考案例

“tensorflow_mlp_mnist_local_mode”(单击进入ModelArts控制台)。

示例代码

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

● 步骤1:创建本地训练作业。当“train_instance_type”为“local”时,表示创建 的是本地训练作业,可以用来调试代码和参数。

from modelarts.session import Session from modelarts.estimator import Estimator from modelarts.environment import Environment

from modelarts.environment.conda_env import CondaDependencies session = Session()

env = Environment("tensorflow_mlp_mnist")

cd = CondaDependencies.create(pip_packages=["tensorflow==1.13.1", "requests"], conda_packages=["python=3.6.2"])

env.conda = cd

src_local_path = "/home/ma-user/work/tensorflow_mlp_mnist_local_mode/train/"

train_file = "tensorflow_mlp_mnist.py"

estimator = Estimator(modelarts_session=session,

code_dir=src_local_path, # 本地训练脚本目录 boot_file=train_file, # 本地训练启动脚本目录 train_instance_type='local', # 指定为本地训练 train_instance_count=1, # 训练节点个数 environment=env) # 训练脚本运行的环境 job_instance = estimator.fit(wait=False, job_name='my_training_job')

● 步骤2:本地训练作业完成后,可以创建为在线训练作业。当

“train_instance_type”为训练环境规格时,表示创建的是在线训练。

from modelarts.session import Session from modelarts.estimator import Estimator from modelarts.environment import Environment

from modelarts.environment.conda_env import CondaDependencies

session = Session()

env = Environment("tensorflow_mlp_mnist")

cd = CondaDependencies.create(pip_packages=["tensorflow==1.13.1", "requests"], conda_packages=["python=3.6.2"])

env.conda = cd

src_local_path = "/home/ma-user/work/tensorflow_mlp_mnist_local_mode/train/"

train_file = "tensorflow_mlp_mnist.py"

estimator = Estimator(modelarts_session=session,

code_dir=src_local_path, # 训练脚本目录 boot_file=train_file, # 训练启动脚本目录 train_instance_type='modelarts.vm.cpu.2u', # 在线训练 train_instance_count=1, # 训练节点个数 environment=env) # 训练脚本运行的环境 job_instance = estimator.fit(wait=False, job_name='my_training_job')

参数说明

7-1 Environment 参数说明

参数 是否必

类型 说明

name 是 String 环境名称。

conda 否 CondaDepend

encies conda环境,具体请参见表7-2。

7-2 CondaDependencies 参数说明

参数 是否必

选 类型 说明

channels 否 List python包的下载源。

pip_packages 否 List conda虚拟环境需要使用的 python包,如tensorflow,

pillow等。

conda_packages 否 List conda虚拟环境需要使用的conda 包,如指定python版本。

on 是 Object 会话对象,初始化方法请参见Session鉴

权。

train_instance_c

ount 是 Int 训练作业计算节点个数。

参数 是否 必选

参数类型 描述

code_dir 否 String 训练作业的代码目录,如“/bucket/

src/”。当填入model_name时不需要填 写。

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

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

framework_version也不需要填写。

“model_name”请从查询预置算法 接口中 获取。

output_path 是 String 训练作业的输出位置。

hyperparameter

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

train_instance_t

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

framework_type 否 String 训练作业选择的引擎规格。请从查询引擎规

格列表接口获取引擎规格。当填入

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}” 。

7-4 fit 请求参数说明

inputs 是 String 训练作业的数据存储位置。

inputs和(dataset_id、

dataset_version_id)、data_source三者不可 同时出现,但必须有其一。

本地训练只支持该参数。

dataset_id 否 String 训练作业的数据集ID。获取数据集ID,请参见

查看数据集的基本信息。

应与dataset_version_id同时出现,但不可与 inputs同时出现。

dataset_versio

n_id 否 String 训练作业的数据集版本ID。获取数据集版本 ID,请参见查看数据集的基本信息。

应与dataset_id同时出现,但不可与inputs同 时出现。

wait 否 Boolea

n 是否等待训练作业结束,默认为False。

job_name 否 String 训练作业的名称,支持[a-zA-Z0-9_-]{1,64}。

若不填,则会动态生成一个job_name。

from modelarts.session import Session from modelarts.estimator import Estimator session = Session()

estimator = Estimator(

modelarts_session=session,