华为云用户手册

  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 error_code String 操作失败的错误码。 error_msg String 操作失败的错误信息。 results Array of BatchResponse objects 批量删除标注团队成员的结果。 success Boolean 操作是否执行成功。可选值如下: true:执行成功 false:执行失败 表4 BatchResponse 参数 参数类型 描述 error_code String 操作失败的错误码。 error_msg String 操作失败的错误信息。 success Boolean 操作是否执行成功。可选值如下: true:执行成功 false:执行失败
  • 响应示例 状态码: 200 OK { "resource_id" : "XGrRZuCV1qmMxnsmD5u", "create_time" : "2020-11-23 11:08:20", "progress" : 10.0, "status" : 1, "message" : "Start to export annotations. Export task id is jMZGm2SBp4Ymr2wrhAK", "code" : "ModelArts.4902", "elapsed_time" : 0, "result" : { "total_sample_count" : 49, "annotated_sample_count" : 30 }, "export_type" : 0, "config" : { "ambiguity" : false, "worker_server_num" : 0, "collect_sample" : false, "algorithm_type" : "fast", "image_brightness" : false, "image_colorfulness" : false } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户token。 表3 请求Body参数 参数 是否必选 参数类型 描述 apps 是 Array of Apps objects app列表。 workspace_id 否 String 工作空间ID。获取方法请参见查询工作空间列表。未创建工作空间时默认值为“0”,存在创建并使用的工作空间,以实际取值为准。 表4 Apps 参数 是否必选 参数类型 描述 app_id 否 String APP的编号,可通过查询APP列表获取。
  • URI POST /v1/{project_id}/services/{service_id}/app-auth-apis/{api_id}/app-auth-api 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 service_id 是 String API所属的服务ID。 api_id 是 String API编号。
  • 响应参数 状态码:200 表5 响应Header参数 参数 参数类型 描述 X-Request-Id String 链路追踪编号 表6 响应Body参数 参数 参数类型 描述 auth_result Array of AppAuthResultInfo objects 授权结果列表。 表7 AppAuthResultInfo 参数 参数类型 描述 api_id String API的编号。 app_id String APP的编号,可通过查询APP列表获取。 auth_id String 授权编号,授权失败时为空。 reason String 授权或者取消授权失败原因,授权成功时为空。 success Boolean 授权或者取消授权是否成功。 状态码:401 表8 响应Header参数 参数 参数类型 描述 X-Request-Id String 链路追踪编号 表9 响应Body参数 参数 参数类型 描述 error_code String ModelArts错误码。 error_msg String 具体错误信息。 状态码:403 表10 响应Header参数 参数 参数类型 描述 X-Request-Id String 链路追踪编号 表11 响应Body参数 参数 参数类型 描述 error_code String ModelArts错误码。 error_msg String 具体错误信息。 状态码:404 表12 响应Header参数 参数 参数类型 描述 X-Request-Id String 链路追踪编号 表13 响应Body参数 参数 参数类型 描述 error_code String ModelArts错误码。 error_msg String 具体错误信息。 状态码:500 表14 响应Header参数 参数 参数类型 描述 X-Request-Id String 链路追踪编号 表15 响应Body参数 参数 参数类型 描述 error_code String ModelArts错误码。 error_msg String 具体错误信息。
  • URI GET /v1/{project_id}/app-auth/apps/{app_name}/exists 表1 路径参数 参数 是否必选 参数类型 描述 app_name 是 String app名称。 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 表2 Query参数 参数 是否必选 参数类型 描述 workspace_id 否 String 工作空间ID。获取方法请参见查询工作空间列表。未创建工作空间时默认值为“0”,存在创建并使用的工作空间,以实际取值为准。
  • 响应参数 状态码:200 表4 响应Body参数 参数 参数类型 描述 exists Boolean APP是否存在。 状态码:401 表5 响应Body参数 参数 参数类型 描述 error_code String ModelArts错误码。 error_msg String 具体错误信息。 状态码:403 表6 响应Body参数 参数 参数类型 描述 error_code String ModelArts错误码。 error_msg String 具体错误信息。 状态码:404 表7 响应Body参数 参数 参数类型 描述 error_code String ModelArts错误码。 error_msg String 具体错误信息。
  • URI POST /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id}/acceptance/batch-comment 表1 路径参数 参数 是否必选 参数类型 描述 dataset_id 是 String 数据集ID。 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 workforce_task_id 是 String 标注任务ID。
  • 请求示例 提交验收任务的样本评审意见。设置是否通过为“true”,评审分数为“A”。 { "comments" : [ { "worker_id" : "8c15ad080d3eabad14037b4eb00d6a6f", "sample_id" : "09ac49d5b06385849c8769fdcf0f6d60", "accept" : true, "comment" : "", "score" : "A" } ] }
  • 响应示例 状态码:200 OK { "metadata" : { "id" : "6ccc15e6-8a81-4d8e-8bee-53401d850639", "name" : "test", "description" : "demo", "create_time" : 1731552542622, "workspace_id" : "0", "update_time" : 1731552542000 }, "statistic" : { "job_count" : 0 } }
  • 响应参数 状态码:200 表4 响应Body参数 参数 参数类型 描述 metadata TrainingExperimentResponseMetadata object 训练实验数据。 statistic TrainingExperimentStatistic object 训练实验的统计数据。 表5 TrainingExperimentResponseMetadata 参数 参数类型 描述 name String 实验名称,最大长度64,不支持特殊字符。 description String 描述信息,最大长度256,不支持特殊字符。 workspace_id String 工作空间ID,默认为0。 create_time Integer 创建时间。 update_time Integer 更新时间。 id String 实验ID。 表6 TrainingExperimentStatistic 参数 参数类型 描述 job_count Integer 当前实验下的训练作业总个数。
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 metadata 是 TrainingExperimentRequestMetadata object 训练实验创建参数 表3 TrainingExperimentRequestMetadata 参数 是否必选 参数类型 描述 name 是 String 实验名称,最大长度64,不支持特殊字符。 description 否 String 描述信息,最大长度256,不支持特殊字符。 workspace_id 否 String 工作空间ID,默认为0。
  • 问题现象 使用ChatGLM3-6B或GLM-4-9B模型创建全参微调的调优任务后,权重校验失败。 版本详情的报错信息如下: Modelarts.6206:Key fields describing the model structure are missing from config.json, or their values are inconsistent with standard open source
  • 步骤三:准备训练数据集 单击8类常见生活垃圾图片数据集,进入AI Gallery数据集详情页,单击右侧“下载”。 选择对应的云服务区域例如:华北-北京四,需要确保您选择的区域与您的管理控制台所在的区域一致。 进入“下载详情”页面,填写以下参数。 下载方式:ModelArts数据集。 目标区域:华北-北京四。 数据类型:系统会根据您的数据集,匹配到相应的数据类型。例如本案例使用的数据集,系统匹配为“图片”类型。 数据集输入位置:用来存放源数据集信息,例如本案例中从Gallery下载的数据集。单击图标选择您的OBS桶下的任意一处目录,但不能与输出位置为同一目录。 数据集输出位置:用来存放输出的数据标注的相关信息,或版本发布生成的Manifest文件等。单击图标选择OBS桶下的空目录,且此目录不能与输入位置一致,也不能为输入位置的子目录。 图1 下载详情 完成参数填写,单击“确定”,自动跳转至AI Gallery个人中心“我的下载”页签,单击按钮,查看下载进度,等待5分钟左右下载完成,单击展开下载详情,可以查看该数据集的“目标位置”。
  • 步骤二:创建OBS桶 登录OBS管理控制台,在桶列表页面右上角单击“创建桶”,创建OBS桶。例如,创建名称为“dataset-exeml”的OBS桶。 创建桶的区域需要与ModelArts所在的区域一致。例如:当前ModelArts在华北-北京四区域,在 对象存储服务 创建桶时,请选择华北-北京四。请参考查看OBS桶与ModelArts是否在同一区域检查您的OBS桶区域与ModelArts区域是否一致。 请勿开启桶加密,ModelArts不支持加密的OBS桶,会导致ModelArts读取OBS中的数据失败。 在桶列表页面,单击桶名称,进入该桶的概览页面。 单击左侧导航的“对象”,在对象页面单击“新建文件夹”,创建OBS文件夹。具体请参见新建文件夹章节。
  • 步骤五:运行工作流 项目完成创建之后,会自动跳转到新版自动学习的运行总览页面。同时您的工作流会自动从数据标注节点开始运行。您需要做的是: 观察数据标注节点,待数据标注节点变为橙色即为“等待操作”状态。双击数据标注节点,打开数据标注节点的运行详情页面,单击“继续运行”。 在弹出的窗口中,单击“确定”,工作流会开始继续运行。当工作流运行到“服务部署”节点,状态会变为“等待输入”,您需要填写以下两个输入参数,其他参数保持默认。 计算节点规格:根据您的实际需求选择相应的规格,不同规格的配置费用不同,选择好规格后,配置费用处会显示相应的费用。 是否自动停止:为了避免资源浪费,建议您打开该开关,根据您的需求,选择自动停止时间,也可以自定义自动停止的时间。 图2 选择计算节点规格 图3 设置自动停止 参数填写完毕之后,单击运行状况右边的“继续运行”,单击确认弹窗中的“确定”即可继续完成工作流的运行。
  • ModelArts入门指引 本文旨在帮助您了解ModelArts的基本使用流程以及相关的常见问题,帮助您快速上手ModelArts服务。 面向不同AI基础的开发者,本文档提供了相应的入门教程,帮助用户更快速地了解ModelArts的功能,您可以根据经验选择相应的教程。 面向AI开发零基础的用户,您可以使用ModelArts在AI Gallery中预置的模型、算法、数据、Notebook等资产,零代码完成AI建模和应用。 如果您想了解如何使用ModelArts Standard一键部署现有的模型,并在线使用模型进行预测,您可以参考使用ModelArts Standard一键完成商超商品识别模型部署。 ModelArts Standard同时提供了自动学习功能,帮助用户零代码构建AI模型,详细介绍请参见使用ModelArts Standard自动学习实现垃圾分类。 面向AI工程师,熟悉代码编写和调测,您可以使用ModelArts Standard提供的在线代码开发环境,编写训练代码进行AI模型的开发。 如果您想了解如何在ModelArts Standard提供的Notebook开发环境中,完成AI开发全流程,您可以参考基于Codelab使用Standard Notebook实例进行AI开发。 如果您有自己的算法,想改造适配后迁移到ModelArts Standard平台上进行训练和推理,您可以参考使用自定义算法构建模型(手写数字识别)。 更多入门实践,请参考《ModelArts入门实践》章节。如果您有其他疑问,您也可以通过华为云社区问答频道来与我们联系探讨。
  • 准备工作 已 注册华为账号 并开通华为云,且在使用ModelArts前检查账号状态,账号不能处于欠费或冻结状态。 配置委托访问授权 ModelArts使用过程中涉及到OBS、SWR、IEF等服务交互,首次使用ModelArts需要用户配置委托授权,允许访问这些依赖服务。 使用华为云账号登录ModelArts管理控制台,在左侧导航栏单击“权限管理”,进入“权限管理”页面,单击“添加授权”。 在弹出的“添加授权”窗口中,选择: 授权对象类型:所有用户 委托选择:新增委托 权限配置:普通用户 选择完成后勾选“我已经详细阅读并同意《ModelArts服务声明》”,然后单击“创建”。 图1 配置委托访问授权 完成配置后,在ModelArts控制台的权限管理列表,可查看到此账号的委托配置信息。 图2 查看委托配置信息
  • Step3 创建OBS桶并上传文件 将上一步中的数据和代码文件、推理代码文件与推理配置文件,从本地上传到OBS桶中。在ModelArts上运行训练作业时,需要从OBS桶中读取数据和代码文件。 登录OBS管理控制台,按照如下示例创建OBS桶和文件夹。 {OBS桶} # OBS对象桶,用户可以自定义名称,例如:test-modelarts-xx -{OBS文件夹} # OBS文件夹,自定义名称,此处举例为pytorch - mnist-data # OBS文件夹,用于存放训练数据集,可以自定义名称,此处举例为mnist-data - mnist-code # OBS文件夹,用于存放训练脚本train.py,可以自定义名称,此处举例为mnist-code - infer # OBS文件夹,用于存放推理脚本customize_service.py和配置文件config.json - mnist-output # OBS文件夹,用于存放训练输出模型,可以自定义名称,此处举例为mnist-output 创建的OBS桶所在区域和后续使用ModelArts必须在同一个区域Region,否则会导致训练时找不到OBS桶。具体操作可参见查看OBS桶与ModelArts是否在同一区域。 创建OBS桶时,桶的存储类别请勿选择“归档存储”,归档存储的OBS桶会导致模型训练失败。 上传Step1 准备训练数据中下载的MNIST数据集压缩包文件到OBS的“mnist-data”文件夹中。 上传数据到OBS中时,请不要加密,否则会导致训练失败。 文件无需解压,直接上传压缩包至OBS中即可。 上传训练脚本“train.py”到“mnist-code”文件夹中。 上传推理脚本“customize_service.py”和推理配置文件“config.json”到“mnist-code”的“infer”文件中。
  • Step6 预测结果 在“在线服务”页面,单击在线服务名称,进入服务详情页面。 单击“预测”页签,请求类型选择“multipart/form-data”,请求参数填写“image”,单击“上传”按钮上传示例图片,然后单击“预测”。 预测完成后,预测结果显示区域将展示预测结果,根据预测结果内容,可识别出此图片的数字是“2”。 本案例中使用的MNIST是比较简单的用做demo的数据集,配套算法也是比较简单的用于教学的神经网络算法。这样的数据和算法生成的模型仅适用于教学模式,并不能应对复杂的预测场景。即生成的模型对预测图片有一定范围和要求,预测图片必须和训练集中的图片相似(黑底白字)才可能预测准确。 图8 示例图片 图9 预测结果展示
  • Step1 准备训练数据 本案例使用的数据是MNIST数据集,您可以在浏览器中搜索“MNIST数据集”下载如图3所示的4个文件。 图3 MNIST数据集 “train-images-idx3-ubyte.gz”:训练集的压缩包文件,共包含60000个样本。 “train-labels-idx1-ubyte.gz”:训练集标签的压缩包文件,共包含60000个样本的类别标签。 “t10k-images-idx3-ubyte.gz”:验证集的压缩包文件,共包含10000个样本。 “t10k-labels-idx1-ubyte.gz”:验证集标签的压缩包文件,共包含10000个样本的类别标签。
  • 操作流程 开始使用如下样例前,请务必按准备工作指导完成必要操作。 Step1 准备训练数据:下载MNIST数据集。 Step2 准备训练文件和推理文件:编写训练与推理代码。 Step3 创建OBS桶并上传文件:创建OBS桶和文件夹,并将数据集和训练脚本,推理脚本,推理配置文件上传到OBS中。 Step4 创建训练作业:进行模型训练。 Step5 推理部署:训练结束后,将生成的模型导入ModelArts用于创建模型,并将模型部署为在线服务。 Step6 预测结果:上传一张手写数字图片,发起预测请求获取预测结果。 Step7 清除资源:运行完成后,停止服务并删除OBS中的数据,避免不必要的扣费。
  • 方式二:开通服务体验预置服务 您可以开通服务,体验和调用将优先消耗免费Token额度,免费额度用完后按实际用量计费。 登录ModelArts Studio控制台,在顶部导航栏选择目标区域。 在左侧导航栏,选择“模型推理”。 在“模型推理”页面的“预置服务”页签,单击“预约登记”。开放后您可以领取免费额度及获取付费 API服务 。 在“预置服务”页签,选择所需的服务,在操作列单击“开通服务”。 在“开通付费服务”页面,勾选目标服务,仔细阅读开通须知并勾选“我已阅读并同意上述说明,及《ModelArts Studio大模型即服务平台免责声明》”,然后单击“立即开通”。 如果未领取免费额度,开通付费服务时将默认领取,体验和调用将优先消耗免费额度,免费额度用完后开始按实际用量计费。 暂不支持关闭付费服务,未使用服务时不会产生费用。 在“模型推理”页面的“预置服务”页签,任选以下方式免费使用预置服务。 方式一:在“模型体验”页面进行推理。 在目标服务右侧,单击操作列的“在线体验”,跳转到“模型体验”页面,在右上角单击“参数设置”,按需配置相关参数,即可开始问答体验。操作指导请参见在MaaS体验模型服务。 表2 参数设置 参数 说明 温度/Temperature 设置推理温度。 数值较高,输出结果更加随机。 数值较低,输出结果更加集中和确定。 取值范围:0~2 默认值:1 核采样/top_p 设置推理核采样。调整输出文本的多样性,数值越大,生成文本的多样性就越高。 取值范围:0.1~1 默认值:1 top_k 选择在模型的输出结果中选择概率最高的前K个结果。 取值范围:1~1000 默认值:20 当操作列的“在线体验”置灰,可能的原因如下: 未领取免费额度且未开通服务。 未开通服务,Tokens的免费调用额度已使用完毕。 方式二:在业务环境中调用模型服务的API进行推理。 在目标服务右侧,单击操作列的“调用说明”,在“调用说明”页面中获取API地址和调用示例,在业务环境中调用API进行体验。操作指导请参见调用MaaS部署的模型服务。 预置服务默认启用 内容审核 ,且“调用说明”页面不显示该参数。 当调用模型服务的API,返回状态码“429 Too Many Requests”时,表示请求超过流控,请稍后重新调用。 (可选)如果您需要使用自定义模型部署模型服务,可以在“我的服务”页签,付费部署模型服务。具体操作,请参见使用MaaS部署模型服务。
  • 常见问题 创建专属资源池时,能选到规格但最终创建时发生报错,提示无可用资源? 由于专属资源的可选规格是动态监测的,因此在极少数情况下会出现,规格在购买界面可以被选择,但由于没有及时支付和创建资源池,导致该规格售罄创建失败。 建议您在创建界面更换规格重新创建资源池。 为什么无法使用资源池节点上的全部CPU资源? 由于资源池节点上会安装系统、插件等内容,因此不能完全使用所有资源。例如:资源池节点是8U,节点分配给系统组件部分CPU,可用的资源会小于8U。 建议您在启动任务前,在该资源池的详情页中,单击“节点”页签,查看实际可用的CPU资源。
  • 常见案例:复制数据卡死 问题现象 调用mox.file.copy_parallel复制数据时卡死。 解决方案 复制文件和文件夹均可采用: import moxing as mox mox.file.set_auth(is_secure=False) 复制单个大文件5G以上时可采用: from moxing.framework.file import file_io 查看当前moxing调用的接口版本:file_io._LARGE_FILE_METHOD,如果输出值为1则为V1版本,如果输出值为2,则为V2版本。 V1版本修改:file_io._NUMBER_OF_PRO CES SES=1 V2版本修改:file_io._LARGE_FILE_METHOD = 1,将模式设置成V1然后用V1的方式修改规避,也可以直接file_io._LARGE_FILE_TASK_NUM=1。 复制文件夹时可采用: mox.file.copy_parallel(threads=0,is_processing=False)
  • 常见案例:训练中途卡死 问题现象1 检测每个节点日志是否有报错信息,某个节点报错但作业未退出导致整个训练作业卡死。 解决方案1 查看报错原因,解决报错。 问题现象2 作业卡在sync-batch-norm中或者训练速度变慢。pytorch如果开了sync-batch-norm,多机会慢,因开了sync-batch-norm以后,每一个iter里面每个batch-norm层都要做同步,通信量很大,而且要所有节点同步。 解决方案2 关掉sync-batch-norm,或者升pytorch版本,升级pytorch到1.10。 问题现象3 作业卡在tensorboard中,出现报错: writer = Sumarywriter('./path)/to/log') 解决方案3 存储路径设为本地路径,如cache/tensorboard,不要使用OBS路径。 问题现象4 使用pytorch中的dataloader读数据时,作业卡在读数据过程中,日志停在训练的过程中并不再更新日志。 解决方案4 用dataloader读数据时,适当减小num_worker。
  • 常见案例:训练最后一个epoch卡死 问题现象 通过日志查看数据切分是否对齐,如果未对齐,容易导致部分进程完成训练退出,而部分训练进程因未收到其他进程反馈卡死,如下图同一时间有的进程在epoch48,而有的进程在epoch49。 loss exit lane:0.12314446270465851 step loss is 0.29470521211624146 [2022-04-26 13:57:20,757][INFO][train_epoch]:Rank:2 Epoch:[48][20384/all] Data Time 0.000(0.000) Net Time 0.705(0.890) Loss 0.3403(0.3792)LR 0.00021887 [2022-04-26 13:57:20,757][INFO][train_epoch]:Rank:1 Epoch:[48][20384/all] Data Time 0.000(0.000) Net Time 0.705(0.891) Loss 0.3028(0.3466) LR 0.00021887 [2022-04-26 13:57:20,757][INFO][train_epoch]:Rank:4 Epoch:[49][20384/all] Data Time 0.000(0.147) Net Time 0.705(0.709) Loss 0.3364(0.3414)LR 0.00021887 [2022-04-26 13:57:20,758][INFO][train_epoch]:Rank:3 Epoch:[49][20384/all] Data Time 0.000 (0.115) Net Time 0.706(0.814) Loss 0.3345(0.3418) LR 0.00021887 [2022-04-26 13:57:20,758][INFO][train_epoch]:Rank:0 Epoch:[49][20384/all] Data Time 0.000(0.006) Net Time 0.704(0.885) Loss 0.2947(0.3566) LR 0.00021887 [2022-04-26 13:57:20,758][INFO][train_epoch]:Rank:7 Epoch:[49][20384/all] Data Time 0.001 (0.000) Net Time 0.706 (0.891) Loss 0.3782(0.3614) LR 0.00021887 [2022-04-26 13:57:20,759][INFO][train_epoch]:Rank:5 Epoch:[48][20384/all] Data Time 0.000(0.000) Net Time 0.706(0.891) Loss 0.5471(0.3642) LR 0.00021887 [2022-04-26 13:57:20,763][INFO][train_epoch]:Rank:6 Epoch:[49][20384/all] Data Time 0.000(0.000) Net Time 0.704(0.891) Loss 0.2643(0.3390)LR 0.00021887 stage 1 loss 0.4600560665130615 mul_cls_loss loss:0.01245919056236744 mul_offset_loss 0.44759687781333923 origin stage2_loss 0.048592399805784225 stage 1 loss:0.4600560665130615 stage 2 loss:0.048592399805784225 loss exit lane:0.10233864188194275 解决方案 使用tensor的切分操作对齐数据。
  • (可选)启用ranktable动态路由 如果训练作业需要使用ranktable动态路由算法进行网络加速,则可以联系技术支持开启集群的cabinet调度权限。同时,训练作业要满足如下要求才能正常实现ranktable动态路由加速。 训练使用的Python版本是3.7、3.8或3.9。 训练作业的实例数要大于或等于3。 路由加速的原理是改变rank编号,所以代码中对rank的使用要统一。 需要确保训练作业的实例规格是节点满卡,如节点8卡场景,每个节点都必须是8卡,不能出现2卡或4卡场景。 将训练作业完成如下修改后,启动训练作业即可实现网络加速。 将训练启动脚本中的“NODE_RANK="$VC_TASK_INDEX"”修改为“NODE_RANK="${RANK_AFTER_ACC:-$VC_TASK_INDEX}"”。 将训练启动脚本中的“MASTER_ADDR="${VC_WORKER_HOSTS%%,*}"”修改为“MASTER_ADDR="${MA_VJ_NAME}-${MA_TASK_NAME}-${MA_MASTER_INDEX:-0}.${MA_VJ_NAME}"”。 在创建训练作业页面配置环境变量“ROUTE_PLAN”,取值为“true”,具体操作请参见管理训练容器环境变量。
  • 安装VS Code软件 VS Code下载方式: 下载地址: https://code.visualstudio.com/updates/v1_85 图1 VS Code的下载位置 VS Code版本要求: 建议用户使用VS Code 1.85.2版本进行远程连接。 VS Code安装指导如下: 图2 Windows系统下VS Code安装指导 Linux系统下,执行命令sudo dpkg -i code_1.85.2-1705561292_amd64.deb安装。 Linux系统用户,需要在非root用户进行VS Code安装。 父主题: 通过VS Code远程使用Notebook实例
  • 开启无条件自动重启 开启无条件自动重启有2种方式:控制台设置或API接口设置。 控制台设置 在创建训练作业页面,开启“自动重启”开关,并勾选“无条件自动重启”,开启无条件自动重启。开启无条件自动重启后,只要系统检测到训练异常,就无条件重启训练作业。如果未勾选“无条件自动重启”只是打开了“自动重启”开关,则表示仅环境问题导致训练作业异常时才会自动重启,其他问题导致训练作业异常时会直接返回“运行失败”。 图1 开启无条件重启 API接口设置 通过API接口创建训练作业时,在“metadata”字段的“annotations”中传入“fault-tolerance/job-retry-num”和“fault-tolerance/job-unconditional-retry”字段。“fault-tolerance/job-retry-num”赋值为1~128之间的任意整数,表示开启自动重启并设置自动重启次数,“fault-tolerance/job-unconditional-retry”赋值为“true”表示启用了无条件自动重启。 { "kind": "job", "metadata": { "annotations": { "fault-tolerance/job-retry-num": "8", "fault-tolerance/job-unconditional-retry": "true" } } }
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全