云服务器内容精选

  • 训练日志的时效性 从日志产生的时效性上可以分为以下3种情况: 实时日志:训练作业实时运行时产生,在ModelArts训练作业详情页面上可以查看。 历史日志:训练作业结束后,可以在ModelArts训练作业详情页面上查看历史日志,ModelArts系统自动保存30天。 永久日志:转存到OBS桶中的训练日志,在创建训练作业时,打开永久保存日志开关设置作业日志路径即可将日志转存至OBS路径。Ascend训练场景下,默认要求填写作业日志在OBS的存放路径,其他资源的训练场景下,永久保存日志开关需要用户手动开启。 图2 开启永久保存日志开关 实时日志和历史日志都是标准日志输出,内容上没有区别。Ascend训练场景下,永久日志中会包含Ascend日志,这部分日志内容在ModelArts界面上看不到。
  • 普通日志说明 普通日志中包含训练进程日志、pip-requirement.txt安装日志和ModelArts Standard平台日志。 表1 普通日志类型 日志类型 说明 训练进程日志 用户训练代码的标准输出。 pip-requirement.txt安装日志 如果用户有定义pip-requirement.txt文件,会产生pip包安装日志。 ModelArts平台日志 ModelArts平台产生的系统日志,主要用于运维人员定位平台问题。 普通日志的文件格式如下,其中task id为训练作业中的节点id。 统一日志格式:modelarts-job-[job id]-[task id].log 样例:log/modelarts-job-95f661bd-1527-41b8-971c-eca55e513254-worker-0.log 单机训练作业只会生成一个日志文件,单机作业的task id默认为worker-0。 分布式场景下有多个节点日志文件并存,通过task id区分不同节点,例如:worker-0,worker-1等。 训练进程日志、“pip-requirement.txt”安装日志和ModelArts平台日志都包含在普通日志文件“modelarts-job-[job id]-[task id].log”中。 ModelArts平台日志可以通过关键字在训练的普通日志文件“modelarts-job-[job id]-[task id].log”中筛查,筛查关键字有:[“ModelArts Service Log]”或“Platform=ModelArts-Service”。 类型一:[ModelArts Service Log] xxx [ModelArts Service Log][init] download code_url: s3://dgg-test-user/snt9-test-cases/mindspore/lenet/ 类型二:time=“xxx” level=“xxx” msg=“xxx” file=“xxx” Command=xxx Component=xxx Platform=xxx time="2021-07-26T19:24:11+08:00" level=info msg="start the periodic upload task, upload period = 5 seconds " file="upload.go:46" Command=obs/upload Component=ma-training-toolkit Platform=ModelArts-Service
  • Ascend场景日志说明 使用Ascend资源运行训练作业时,会产生Ascend相关日志。Ascend训练场景下会生成device日志、plog日志、proc log单卡训练日志、MindSpore日志、普通日志。 其中,Ascend训练场景下的普通日志包括训练进程日志、pip-requirement.txt安装日志、ModelArts平台日志、ma-pre-start日志和davincirun日志。 Ascend日志结构举例说明如下: obs://dgg-test-user/snt9-test-cases/log-out/ # 作业日志路径 ├──modelarts-job-9ccf15f2-6610-42f9-ab99-059ba049a41e ├── ascend ├── process_log ├── rank_0 ├── plog # plog日志 ... ├── device-0 # device日志 ... ├── mindspore # MindSpore日志 ├──modelarts-job-95f661bd-1527-41b8-971c-eca55e513254-worker-0.log # 普通日志 ├──modelarts-job-95f661bd-1527-41b8-971c-eca55e513254-proc-rank-0-device-0.txt # proc log单卡训练日志 表2 Ascend场景下日志说明 日志类型 日志说明 日志文件名 device日志 HOST侧用户进程,在DEVICE侧产生的AICPU、HCCP的日志,回传到HOST侧(训练容器)。 如果出现如下情况,则device日志会获取不到。 节点异常重启 被主动停止的节点 在训练进程结束后,该日志会生成到训练容器中。其中,使用MindSpore预置框架训练的device日志会自动上传到OBS,使用其他预置框架和 自定义镜像 训练的device日志如果需要自动上传到OBS,则需要在代码中配置ASCEND_PRO CES S_ LOG _PATH,具体请参考如下示例。 # set npu plog env ma_vj_name=`echo ${MA_VJ_NAME} | sed 's:ma-job:modelarts-job:g'` task_name="worker-${VC_TASK_INDEX}" task_plog_path=${MA_LOG_DIR}/${ma_vj_name}/${task_name} mkdir -p ${task_plog_path} export ASCEND_PROCESS_LOG_PATH=${task_plog_path} “~/ascend/log/device-{device-id}/device-{pid}_{timestamp}.log” 其中,pid是HOST侧用户进程号。 样例: device-166_20220718191853764.log plog日志 HOST侧用户进程,在HOST侧产生的日志(例如:ACL /GE)。 plog日志会生成到训练容器中。其中,使用MindSpore预置框架训练的plog日志会自动上传到OBS,使用自定义镜像训练的plog日志如果需要自动上传到OBS,则需要在代码中配置ASCEND_PROCESS_LOG_PATH,具体请参考如下示例。 # set npu plog env ma_vj_name=`echo ${MA_VJ_NAME} | sed 's:ma-job:modelarts-job:g'` task_name="worker-${VC_TASK_INDEX}" task_plog_path=${MA_LOG_DIR}/${ma_vj_name}/${task_name} mkdir -p ${task_plog_path} export ASCEND_PROCESS_LOG_PATH=${task_plog_path} “~/ascend/log/plog/plog-{pid}_{timestamp}.log” 其中,pid是HOST侧用户进程号。 样例:plog-166_20220718191843620.log proc log proc log是单卡训练日志重定向文件,方便用户快速定位对应计算节点的日志。使用自定义镜像训练的作业不涉及proc log;使用预置框架训练的proc log日志会生成到训练容器中,且自动保存到OBS。 “[modelarts-job-uuid]-proc-rank-[rank id]-device-[device logic id].txt” device id为本次训练作业的NPU卡编号,取值单卡为0,8卡为0~7。 例如:Ascend规格为 8*Snt9时,device id取值为0~7;Ascend规格为 1*Snt9时,device id取值为0。 rank id为本次训练作业的全局NPU卡编号,取值为0~计算节点数*卡数-1,单个计算节点下,rank id与device id取值相同。 样例: modelarts-job-95f661bd-1527-41b8-971c-eca55e513254-proc-rank-0-device-0.txt MindSpore日志 使用MindSpore+Ascend训练时会产生单独的MindSpore日志。 MindSpore日志会生成到训练容器中。其中,使用MindSpore预置框架训练的plog日志会自动上传到OBS,使用自定义镜像训练的plog日志如果需要自动上传到OBS,则需要在代码中配置ASCEND_PROCESS_LOG_PATH,具体请参考如下示例。 # set npu plog env ma_vj_name=`echo ${MA_VJ_NAME} | sed 's:ma-job:modelarts-job:g'` task_name="worker-${VC_TASK_INDEX}" task_plog_path=${MA_LOG_DIR}/${ma_vj_name}/${task_name} mkdir -p ${task_plog_path} export ASCEND_PROCESS_LOG_PATH=${task_plog_path} MindSpore的日志介绍请参见MindSpore官网。 普通训练日志 普通训练日志会生成到训练容器的“/home/ma-user/modelarts/log”目录中,且自动上传到OBS。普通训练日志的类型如下所示。 ma-pre-start日志(Ascend场景特有):如果用户有定义ma-pre-start脚本,会产生该脚本执行日志。 davincirun日志(Ascend场景特有):Ascend训练进程通过davincirun.py文件启动,该启动文件产生的日志。 训练进程日志:用户训练代码的标准输出。 pip-requirement.txt安装日志:如果用户有定义pip-requirement.txt文件,会产生pip包安装日志。 ModelArts平台日志:ModelArts平台产生的系统日志,主要用于运维人员定位平台问题。 合并输出在日志文件modelarts-job-[job id]-[task id].log中。 task id表示计算节点id,单节点时取值为worker-0,多节点时取值为worker-0、worker-1、...worker-{n-1},n为计算节点个数。 样例: modelarts-job-95f661bd-1527-41b8-971c-eca55e513254-worker-0.log
  • 如何查看训练作业日志 在训练作业详情页,训练日志窗口提供日志预览、日志下载、日志中搜索关键字、系统日志过滤能力。 预览 系统日志窗口提供训练日志预览功能,如果训练作业有多个节点,则支持查看不同计算节点的日志,通过右侧下拉框可以选择目标节点预览。 图4 查看不同计算节日志 当日志文件过大时,系统日志窗口仅加载最新的部分日志,并在日志窗口上方提供全量日志访问链接。打开该链接可在新页面查看全部日志。 图5 查看全量日志 如果全部日志超过500M,可能会引起浏览页面卡顿,建议您直接下载日志查看。 预览链接在生成后的一小时内,支持任何人打开并查看。您可以分享链接至他人。 请注意日志中不能包含隐私内容,否则会造成信息泄露。 下载 训练日志仅保留30天,超过30天会被清理。如果用户需要永久保存日志,请单击系统日志窗口右上角下载按钮下载日志至本地保存,支持批量下载多节点日志。用户也可以在创建训练作业时打开永久保存日志按钮,保存训练日志至指定OBS路径。 针对使用Ascend规格创建的训练作业,部分系统日志暂不支持直接在训练日志窗口下载,请在创建训练作业时指定OBS路径用于保存训练日志。 图6 下载日志 搜索关键字 用户可以在系统日志右上角的搜索框搜索关键字,如图7所示。 图7 搜索关键字 系统支持高亮关键字并实现搜索结果间的跳转。搜索功能仅支持搜索当前页面加载的日志,如果日志加载不全(请关注页面提示)则需要下载或者通过打开全量日志访问链接进行搜索。全量日志访问链接打开的新页面可以通过Ctrl+F进行搜索。 系统日志过滤 图8 系统日志复选框 如果勾选了系统日志复选框,则日志中呈现系统日志和用户日志。如果去勾选,则只显示用户日志。
  • 训练日志定义 训练日志用于记录训练作业运行过程和异常信息,为快速定位作业运行中出现的问题提供详细信息。用户代码中的标准输出、标准错误信息会在训练日志中呈现。在ModelArts中训练作业遇到问题时,可首先查看日志,多数场景下的问题可以通过日志报错信息直接定位。 训练日志包括普通训练日志和Ascend相关日志。 普通日志说明:当使用Ascend之外的资源训练时仅产生普通训练日志,普通日志中包含训练进程日志、pip-requirement.txt安装日志和ModelArts平台日志。 Ascend场景日志说明:使用Ascend资源训练时会产生device日志、plog日志、proc log单卡训练日志、MindSpore日志、普通日志。 图1 ModelArts训练日志 只有MindSpore+Ascend训练场景下会产生单独的MindSpore日志。其他AI引擎的日志都包含在普通日志中,无法区分。
  • 训练环境中不同规格资源“/cache”目录的大小 在创建训练作业时可以根据训练作业的大小选择资源。 ModelArts会挂载硬盘至“/cache”目录,用户可以使用此目录来储存临时文件。“/cache”与代码目录共用资源,不同资源规格有不同的容量。 k8s磁盘的驱逐策略是90%,所以可以正常使用的磁盘大小应该是“cache目录容量 x 0.9”。 裸机的本地磁盘为物理磁盘,无法扩容,如果存储的数据量大,建议使用SFS存放数据,SFS支持扩容。 GPU规格的资源 表1 GPU cache目录容量 GPU规格 cache目录容量 GP Vnt1 800G 8*GP Vnt1 3T GP Pnt1 800G CPU规格的资源 表2 CPU cache目录容量 CPU规格 cache目录容量 2 核 8GiB 50G 8 核 32GiB 50G Ascend规格的资源 表3 Ascend cache目录容量 Ascend规格 cache目录容量 Ascend 3T 父主题: 创建训练作业
  • 提交训练作业并调试 当创建训练作业的参数配置完成后,单击“提交”,在信息确认页面单击“确定”,提交创建训练作业任务。 在训练作业列表中,刚创建的训练作业状态为“等待中”。 在训练作业列表中,当训练作业的状态变为“运行中”时,单击操作列的“打开”弹出JupyterLab页面,即可进行训练代码调试。 JupyterLab页面左侧会显示训练代码文件,JupyterLab的使用请参见JupyterLab简介及常用操作。 当创建的调试训练作业开启了SSH远程开发时,在训练作业详情页获取“SSH远程开发”参数后的“密钥对”和SSH地址信息后,可以使用本地IDE远程连接到调试训练作业中进行代码调试。 训练作业运行过程中将按照选择的资源进行计费。
  • 选择自定义算法创建方式 只支持使用自定义镜像创建调试训练作业。 表2 选择调试训练作业的创建方式 参数名称 说明 创建方式 固定选择“自定义算法”。 启动方式 固定选择“自定义”。 镜像 必填,填写容器镜像的地址。 容器镜像地址的填写支持如下方式。 选择自有镜像或他人共享的镜像:单击右边的“选择”,从容器镜像中选择用于训练的容器镜像。所需镜像需要提前上传到SWR服务中。 选择公开镜像:直接输入SWR服务中公开镜像的地址。地址直接填写“组织名称/镜像名称:版本名称”,不需要带 域名 信息,系统会自动拼接域名地址。 代码目录 选择训练代码文件所在的OBS目录。如果自定义镜像中不含训练代码则需要配置该参数,如果自定义镜像中已包含训练代码则不需要配置。 需要提前将代码上传至OBS桶中,目录内文件总大小要小于或等于5GB,文件数要小于或等于1000个,文件深度要小于或等于32。 训练代码文件会在训练作业启动的时候被系统自动下载到训练容器的“${MA_JOB_DIR}/demo-code”目录中,“demo-code”为存放代码目录的最后一级OBS目录。例如,“代码目录”选择的是“/test/code”,则训练代码文件会被下载到训练容器的“${MA_JOB_DIR}/code”目录中。 运行用户ID 容器运行时的用户ID,该参数为选填参数,建议使用默认值1000。 如果需要指定uid,则uid数值需要在规定范围内,专属资源池的uid范围是1~65535。同时,自定义镜像必须存在“/home/ma-user”目录,且“/home/ma-user”目录的属主为指定uid,属组为指定uid对应的gid。 本地代码目录 指定训练容器的本地目录,启动训练时系统会将代码目录下载至此目录。 此参数可选,默认本地代码目录为“/home/ma-user/modelarts/user-job-dir”。 工作目录 训练时,系统会自动cd到此目录下执行启动文件。
  • 配置训练参数 训练过程中可以从OBS桶或者数据集中获取输入数据进行模型训练,训练输出的结果也支持存储至OBS桶中。创建训练作业时可以参考表3配置输入、输出、超参、环境变量等参数。 表3 配置训练参数 参数名称 子参数 说明 输入 参数名称 算法代码需要通过“输入”的“参数名称”去读取训练的输入数据。 建议设置为“data_url”。训练输入参数要与所选算法的“输入”参数匹配,请参见创建算法时的表4。 数据集 单击“数据集”,在ModelArts数据集列表中勾选目标数据集并选择对应的版本。 训练启动时,系统将自动下载输入路径中的数据到训练运行容器。 说明: ModelArts数据管理模块在重构升级中,对未使用过数据管理的用户不可见。建议新用户将训练数据存放至OBS桶中使用。 数据存储位置 单击“数据存储位置”,从OBS桶中选择训练输入数据的存储位置。 训练启动时,系统将自动下载输入路径中的数据到训练运行容器。 获取方式 以参数名称为“data_path”的训练输入为例,说明获取方式的作用。 当参数的“获取方式”为“超参”时,可以参考如下代码来读取数据。 import argparse parser = argparse.ArgumentParser() parser.add_argument('--data_path') args, unknown = parser.parse_known_args() data_path = args.data_path 当参数的“获取方式”为“环境变量”时,可以参考如下代码来读取数据。 import os data_path = os.getenv("data_path", "") 输出 参数名称 算法代码需要通过“输出”的“参数名称”去读取训练的输出目录。 建议设置为“train_url”。训练输出参数要与所选算法的“输出”参数匹配,请参见创建算法时的表5。 数据存储位置 单击“数据存储位置”,从OBS桶中选择训练输出数据的存储位置。训练过程中,系统将自动从训练容器的本地代码目录下同步文件到数据存储位置。 说明: 数据存储位置仅支持OBS路径。为避免数据存储冲突,建议选择一个空目录用作“数据存储位置”。 获取方式 以参数名称为“train_url”的训练输出为例,说明获取方式的作用。 当参数的“获取方式”为“超参”时,可以参考如下代码来读取数据。 import argparse parser = argparse.ArgumentParser() parser.add_argument('--train_url') args, unknown = parser.parse_known_args() train_url = args.train_url 当参数的“获取方式”为“环境变量”时,可以参考如下代码来读取数据。 import os train_url = os.getenv("train_url", "") 预下载至本地目录 选择是否将输出目录下的文件预下载至本地目录。 不下载:表示启动训练作业时不会将输出数据的存储位置中的文件下载到训练容器的本地代码目录中。 下载:表示系统会在启动训练作业时自动将输出数据的存储位置中的所有文件下载到训练容器的本地代码目录中。下载时间会随着文件变大而变长,为了防止训练时间过长,请及时清理训练容器的本地代码目录中的无用文件。如果要使用设置断点续训练,则必须选择“下载”。 超参 - 超参用于训练调优。此参数由选择的算法决定,如果在算法中已经定义了超参,则此处会显示算法中所有的超参。 超参支持修改和删除,状态取决于算法中的超参“约束”设置,详情请参见创建算法时的定义超参。 说明: 为保证数据安全,请勿输入敏感信息,例如明文密码。 环境变量 - 根据业务需求增加环境变量。训练容器中预置的环境变量请参见管理训练容器环境变量。 说明: 为保证数据安全,请勿输入敏感信息,例如明文密码。 自动重启 - 打开开关后,可以设置重启次数和是否启用无条件自动重启。 打开自动重启开关后,当由于环境问题导致训练作业异常时,系统将自动修复异常或隔离节点,并重启训练作业,提高训练成功率。为了避免丢失训练进度、浪费算力,开启此功能前请确认代码已适配断点续训,操作指导请参见设置断点续训练。 重启次数的取值范围是1~128,缺省值为3。创建训练后不支持修改重启次数,请合理设置次数。 勾选无条件自动重启后,只要系统检测到训练异常,就无条件重启训练作业。为了避免无效重启浪费算力资源,系统最多只支持连续无条件重启3次。 当训练过程中触发了自动重启,则系统会记录重启信息,在训练作业详情页可以查看故障恢复详情,具体请参见训练作业重调度。
  • 前提条件 已经将用于训练作业的数据上传至OBS目录。 已经在OBS目录下创建了至少1个空的文件夹,用于存储训练输出的内容。 ModelArts不支持加密的OBS桶,创建OBS桶时,请勿开启桶加密。 由于训练作业运行需消耗资源,为了避免训练失败请确保账户未欠费。 确保使用的OBS目录与ModelArts在同一区域。 检查是否配置了访问授权。如果未配置,请参见使用委托授权完成操作。 已经上传镜像到SWR服务中。 已经准备好训练作业的专属资源池。如需新建资源池请参见创建资源池。
  • 配置调试训练作业基本信息 在创建训练作业页面填写调试训练作业的基本信息。 表1 调试训练作业的基本信息 参数名称 说明 名称 必填,训练作业的名称。 系统会自动生成一个名称,可以根据业务需求重新命名,命名规则如下: 支持1~64位字符。 可以包含大小写字母、数字、中划线(-)或下划线(_)。 描述 训练作业的简介,便于在训练作业列表了解作业信息。 设置实验 将训练作业分类有序地放入实验中进行管理。 如果选择“纳入新实验”,需要配置“新建实验名称”和“新建实验描述”。 如果选择“纳入已有实验”,需要选择“实验名称”。 如果选择“不纳入实验”,则不在实验中进行统一管理。 作业模式 创建调试训练作业时,必须选择“调试模型”。如果选择“生产模式”,则请参考创建生产训练作业创建生产训练作业。 SSH远程开发 选择是否启用SSH远程开发功能。 默认关闭,不启用SSH远程开发,只支持使用JupyterLab调试训练作业。打开后,启用SSH远程开发,则必须配置“密钥对”,此时支持使用JupyterLab或本地IDE调试训练作业。 密钥对 启用SSH远程开发时,必须配置密钥对。 可以选择已有密钥对,也可以单击“立即创建”新建密钥对,具体操作请参见创建密钥对。 说明: 创建好的密钥对,请下载并妥善保管,使用本地IDE远程连接到调试训练作业时需要使用密钥对进行鉴权认证。 训练应用程序 默认使用JupyterLab,支持去勾选。 创建调试作业时,建议SSH远程开发和JupyterLab至少启用一个。
  • 请求示例 如下以创建名为“testConfig”,描述为“This is config”的训练作业参数为例。 POST https://endpoint/v1/{project_id}/training-job-configs { "config_name": "testConfig", "config_desc": "This is config", "worker_server_num": 1, "app_url": "/usr/app/", "boot_file_url": "/usr/app/boot.py", "parameter": [ { "label": "learning_rate", "value": "0.01" }, { "label": "batch_size", "value": "32" } ], "spec_id": 1, "dataset_id": "38277e62-9e59-48f4-8d89-c8cf41622c24", "dataset_version_id": "2ff0d6ba-c480-45ae-be41-09a8369bfc90", "engine_id": 1, "train_url": "/usr/train/", "log_url": "/usr/log/", "model_id": 1 }
  • 响应示例 成功响应示例 { "is_success": true, "job_id": "10", "job_name": "TestModelArtsJob", "status": "1", "create_time": "1524189990635", "version_id": "10", "version_name": "V0001", "resource_id": "jobafd08896" } 失败响应示例 { "is_success": false, "error_message": "Job name:TestModelArtsJob is existed", "error_code": "ModelArts.0103" }
  • 请求示例 如下以创建名为“TestModelArtsJob”,描述为“This is a ModelArts job”为例。 POST https://endpoint/v1/{project_id}/training-jobs { "job_name": "TestModelArtsJob", "job_desc": "This is a ModelArts job", "workspace_id": "af261af2218841ec960b01ab3cf1a5fa", "config": { "worker_server_num": 1, "app_url": "/usr/app/", "boot_file_url": "/usr/app/boot.py", "parameter": [ { "label": "learning_rate", "value": "0.01" }, { "label": "batch_size", "value": "32" } ], "dataset_id": "38277e62-9e59-48f4-8d89-c8cf41622c24", "dataset_version_id": "2ff0d6ba-c480-45ae-be41-09a8369bfc90", "spec_id": 1, "engine_id": 1, "train_url": "/usr/train/", "log_url": "/usr/log/", "model_id": 1, "pool_id": "testpool" } } 如下以创建名为“TestModelArtsJob2”,创建自定义镜像训练。 POST https://endpoint/v1/{project_id}/training-jobs { "job_name": "TestModelArtsJob2", "job_desc": "This is a ModelArts job", "workspace_id": "af261af2218841ec960b01ab3cf1a5fa", "config": { "worker_server_num": 1, "data_url": "/usr/data/", "app_url": "/usr/app/", "boot_file_url": "/usr/app/boot.py", "parameter": [ { "label": "CUSTOM_PA RAM 1", "value": "1" } ], "spec_id": 1, "user_command": "bash -x /home/work/run_train.sh python /home/work/user-job-dir/app/mnist/mnist_softmax.py --data_url /home/work/user-job-dir/app/mnist_data", "user_image_url": "100.125.5.235:20202/jobmng/custom-cpu-base:1.0", "train_url": "/usr/train/", "log_url": "/usr/log/", "model_id": 1, "pool_id": "testpool", "engine_id": 1 } } 如下以创建名为“TestModelArtsJob3”,创建使用存储卷的训练。 POST https://endpoint/v1/{project_id}/training-jobs { "job_name": "TestModelArtsJob3", "job_desc": "This is a ModelArts job", "workspace_id": "af261af2218841ec960b01ab3cf1a5fa", "config": { "worker_server_num": 1, "app_url": "/usr/app/", "boot_file_url": "/usr/app/boot.py", "parameter": [ { "label": "learning_rate", "value": "0.01" }, { "label": "batch_size", "value": "32" } ], "dataset_id": "38277e62-9e59-48f4-8d89-c8cf41622c24", "dataset_version_id": "2ff0d6ba-c480-45ae-be41-09a8369bfc90", "spec_id": 1, "engine_id": 1, "train_url": "/usr/train/", "log_url": "/usr/log/", "model_id": 1, "pool_id": "testpool", "volumes": [ { "nfs": { "id": "43b37236-9afa-4855-8174-32254b9562e7", "src_path": "192.168.8.150:/", "dest_path": "/home/work/nas", "read_only": false } }, { "host_path": { "src_path": "/root/work", "dest_path": "/home/mind", "read_only": false } } ] } }
  • 响应消息 响应参数如表9所示。 表9 响应参数 参数 参数类型 说明 is_success Boolean 请求是否成功。 error_message String 调用失败时的错误信息。 调用成功时无此字段。 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 job_id Long 训练作业的ID。 job_name String 训练作业的名称 status Int 训练作业的运行状态,详细作业状态列表请查看作业状态参考。 create_time Long 训练作业的创建时间,时间戳格式。 version_id Long 训练作业的版本ID。 resource_id String 训练作业的计费资源ID。 version_name String 训练作业的版本名称。