华为云用户手册

  • URI GET /v1/{project_id}/training-jobs/{job_id}/versions/{version_id}/aom-log 参数说明如表1所示。 表1 路径参数 参数 是否必选 参数类型 说明 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 job_id 是 Long 训练作业的ID。 version_id 是 Long 训练作业的版本ID。 表2 Query参数 参数 是否必选 参数类型 说明 base_line 否 String 日志的基准位置,根据接口返回获得,为空的时候代表获取最新的日志。 lines 否 Integer 获取日志的长度,默认为50行。lines的范围为[0, 500]。 log_file 是 String 需要查看的日志文件名称,获取方式请参见获取训练作业日志的文件名。 order 否 String 日志查询的方向。 desc:向下查询。 asc:向上查询。
  • 从控制台获取项目ID和名称 从控制台获取项目ID(project_id)和名称(project name)的步骤如下: 注册并登录管理ModelArts控制台。 在页面右上角单击用户名,然后在下拉列表中单击“我的凭证”,进入“我的凭证”页面。 如果您登录的是华为云官网,而非管理控制台。在单击用户名后,选择下拉列表中的“帐号中心”,然后单击“管理我的凭证”进入“我的凭证”页面。 在“API凭证”页面的项目列表中查看项目ID和名称(即“项目”)。 图1 查看项目ID 多项目时,展开“所属区域”,从“项目ID”列获取子项目ID。
  • 作业状态参考 作业状态如表1所示。 表1 作业状态 状态值 作业状态说明 0 JOBSTAT_UNKNOWN,作业状态未知。 1 JOBSTAT_INIT,作业初始化状态。 2 JOBSTAT_IMAGE_CREATING,作业镜像正在创建。 3 JOBSTAT_IMAGE_FAILED,作业镜像创建失败。 4 JOBSTAT_SUBMIT_TRYING,作业正在提交。 5 JOBSTAT_SUBMIT_FAILED,作业提交失败。 6 JOBSTAT_DELETE_FAILED,作业删除失败。 7 JOBSTAT_WAITING,作业正在排队中。 8 JOBSTAT_RUNNING,作业正在运行中。 9 JOBSTAT_KILLING,作业正在取消。 10 JOBSTAT_COMPLETED,作业已经完成。 11 JOBSTAT_FAILED,作业运行失败。 12 JOBSTAT_KILLED,作业取消成功。 13 JOBSTAT_CANCELED,作业取消。 14 JOBSTAT_LOST,作业丢失。 15 JOBSTAT_SCALING,作业正在扩容。 16 JOBSTAT_SUBMIT_MODEL_FAILED,提交模型失败。 17 JOBSTAT_DEPLOY_SERVICE_FAILED,部署服务失败。 18 JOBSTAT_CHECK_INIT,审核作业初始化。 19 JOBSTAT_CHECK_RUNNING,审核作业正在运行中。 20 JOBSTAT_CHECK_RUNNING_COMPLETED,审核作业已经完成。 21 JOBSTAT_CHECK_FAILED,审核作业失败。 父主题: 训练管理(旧版)
  • 响应消息 响应参数如表3所示。 表3 响应参数 参数 参数类型 说明 is_success Boolean 请求是否成功。 error_message String 调用失败时的错误信息。 调用成功时无此字段。 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 engines engines结构数组 引擎规格参数列表,如表4所示。 表4 engines属性列表说明 参数 参数类型 说明 engine_type integer 训练作业的引擎类型。 1:TensorFlow。 2:MXNet。 4:Caffe。 5:Spark_MLlib 6: Scikit Learn 9:XGBoost-Sklearn 10:Pytorch 13:Ascend-Powerd-Engine 17: MindSpore-GPU engine_id Long 训练作业的引擎ID。 engine_name String 训练作业的引擎名称。 engine_version String 训练作业使用的引擎版本。
  • 响应消息 响应参数如表2所示。 表2 响应参数 参数 参数类型 说明 error_message String 调用失败时的错误信息。 调用成功时无此字段。 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 job_name String 可视化作业的名称。 service_url String 可视化作业的endpoint。 resource_id String 可视化作业的计费资源ID。 job_id Long 可视化作业的ID。 job_desc String 可视化作业的具体描述。 duration Long 可视化作业的运行时长,单位为毫秒。 create_time Long 可视化作业的创建时间,时间戳格式。 train_url String 可视化作业输出文件OBS路径。 status Int 可视化作业的运行状态,详细作业状态列表请参见作业状态参考。
  • 响应示例 成功响应示例 { "quotas": 100, "is_success": true, "job_total_count": 1, "job_count_limit": 999, "jobs": [ { "job_id": 1, "job_name": "visualization-job", "status": 1, "create_time": 15099239923, "resource_id": "4787c885-e18d-4ef1-aa12-c4ed0c364b27", "duration": 1502323, "job_desc": "This is a visualization job", "service_url": "https://console.huaweicloud.com/modelarts/tensoarbod/xxxx/111", "train_url": "/obs/name/" } ] } 失败响应示例 { "is_success": false, "error_message": "error message", "error_code": "ModelArts.0103" }
  • 响应消息 响应参数如表3所示。 表3 响应参数 参数 参数类型 说明 is_success Boolean 请求是否成功。 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 error_message String 调用失败时的错误信息。 调用成功时无此字段。 job_total_count Integer 查询的可视化作业总数。 job_count_limit Integer 用户还可以创建可视化作业的数量。 jobs jobs结构数组 可视化作业的属性列表,具体请参见表4。 quotas Integer 可视化作业的运行数量上限。
  • 响应消息 响应参数如表3所示。 表3 响应参数 参数 参数类型 说明 is_success Boolean 请求是否成功。 error_message String 调用失败时的错误信息。 调用成功时无此字段。 error_code String 调用失败时的错误码,具体请参见错误码。调用成功时无此字段。 config_name String 训练作业参数的名称。 config_desc String 训练作业参数的描述信息。 worker_server_num Integer 训练作业worker的个数。 app_url String 训练作业的代码目录。 boot_file_url String 训练作业的代码启动文件。 model_id Long 训练作业的模型ID。 parameter JSON Array 训练作业的运行参数,为“label-value”格式;当为自定义镜像训练作业的时候,此参数为容器环境变量。详情请查看表8 spec_id Long 训练作业资源规格ID。 data_url String 训练作业的数据集。 dataset_id String 训练作业的数据集ID。 dataset_version_id String 训练作业的数据集版本ID。 data_source JSON Array 训练作业使用的多数据集。详情请查看表4。 engine_type Integer 训练作业的引擎类型。 engine_name String 训练作业的引擎名称。 engine_id Long 训练作业的引擎ID。 engine_version String 训练作业使用的引擎版本。 train_url String 训练作业的输出文件OBS路径URL,默认为空,如“/usr/train/”。 log_url String 训练作业的日志OBS输出路径URL,默认为空。如:“/usr/train/”。 user_image_url String 自定义镜像训练作业的自定义镜像的SWR-URL。 user_command String 自定义镜像训练作业的自定义镜像的容器的启动命令。 spec_code String 训练作业资源规格。 gpu_type String 资源规格gpu的类型。 create_time Long 训练作业参数创建时间 。 cpu String 资源规格CPU内存。 gpu_num Integer 资源规格gpu的个数。 core String 资源规格的核数。 dataset_name String 训练作业的数据集名称。 dataset_version_name String 训练作业的数据集名称。 pool_id String 资源池ID。 pool_name String 资源池名称。 volumes JSON Array 训练作业可使用的存储卷。具体请参见表5。 nas_mount_path String SFS Turbo (NAS) 训练本地挂载路径。如:“/home/work/nas”。 nas_share_addr String SFS Turbo (NAS) 共享路径。如:“192.168.8.150:/”。 nas_type String 当前仅支持 nfs。如:“nfs”。 表4 data_source属性列表 参数 参数类型 说明 dataset_id String 训练作业的数据集ID。 dataset_version String 训练作业的数据集版本ID。 type String 数据集类型。 “obs”:表示使用OBS的数据。 “dataset”:表示使用数据集的数据。 data_url String OBS的桶路径。
  • 请求示例 如下以更新名为“config”的作业参数为例。 PUT https://endpoint/v1/{project_id}/training-job-configs/config { "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 }
  • 请求示例 如下以创建名为“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 }
  • 响应消息 相应参数如表2所示。 表2 响应参数 参数 参数类型 说明 is_success Boolean 请求是否成功。 error_message String 调用失败时的错误信息。 调用成功时无此字段。 error_code String 调用失败时的错误码,具体请参见错误码。调用成功时无此字段。 log_file_list String 训练作业的日志文件名。单机作业日志仅有一个文件,分布式作业日志有多个文件。
  • 请求示例 如下以查询训练作业状态为7,每页展示10条记录,指定到第1页,按照“job_name”排序并递增排列,查询作业名字中包含job的所有训练作业数据为例。 GET https://endpoint/v1/{project_id}/training-jobs?status=7&per_page=10&page=1&sortBy=job_name&order=asc&search_content=job
  • 响应消息 响应参数如表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 训练作业的版本名称。
  • 请求URI 请求URI由如下部分组成: {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 表1 请求URI 参数 说明 URI-scheme 传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 承载REST服务端点的服务器域名或IP,不同服务在不同区域时,对应Endpoint不同,可以从终端节点中获取。 例如 IAM 服务在“华北-北京一”区域的Endpoint为“iam.cn-north-1.myhuaweicloud.com”。 resource-path 资源路径,即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string 查询参数,可选,查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 例如您需要获取“华北-北京一”区域的Token,则需使用“华北-北京一”区域的Endpoint(iam.cn-north-1.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为查看方便,服务每个具体API的URI,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • Token认证 Token的有效期为24小时,需要使用同一个Token鉴权时,可以缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中“auth.scope”的取值需要选择“project”,请求示例如下所示。 在构造请求中以调用获取用户Token接口为例说明了如何调用API。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "user_name", "password": "user_password", "domain": { "name": "domain_name" } } } }, "scope": { "project": { "name": "project_name" } } } } 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 GET https://modelarts.cn-north-1.myhuaweicloud.com/v1/{project_id}/services Content-Type: application/json X-Auth-Token: ABCDEFJ.... 您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333 。
  • 请求示例 批量更新团队标注样本的标签 { "samples" : [ { "sample_id" : "0a0939d6d3c48a3d2a2619245943ac21", "worker_id" : "8c15ad080d3eabad14037b4eb00d6a6f", "labels" : [ { "name" : "tulips" } ] }, { "sample_id" : "0e1b5a16a5a577ee53aeb34278a4b3e7", "worker_id" : "8c15ad080d3eabad14037b4eb00d6a6f", "labels" : [ { "name" : "tulips" } ] } ] }
  • 响应参数 状态码: 200 表7 响应Body参数 参数 参数类型 描述 error_code String 操作失败的错误码。 error_msg String 操作失败的错误信息。 results Array of BatchResponse objects 批量更新样本标签的响应结果列表。 success Boolean 操作是否执行成功。可选值如下: true:执行成功 false:执行失败 表8 BatchResponse 参数 参数类型 描述 error_code String 操作失败的错误码。 error_msg String 操作失败的错误信息。 success Boolean 操作是否执行成功。可选值如下: true:执行成功 false:执行失败
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 add_sample_count Long 新增样本数量。 create_time Long 任务创建时间。 dataset_id String 数据集ID。 deleted_sample_count Long 已删除样本数量。 duration_time Long 任务运行时间。 error_code String 错误码。 error_msg String 错误信息。 status String 任务当前状态。可选值如下: QUEUING:排队中 STARTING:开始执行 RUNNING:运行中 COMPLETED:已完成 FAILED:已失败 NOT_EXIST:任务不存在 task_id String 同步任务ID。 total_sample_count Long 总样本数量。
  • 请求示例 启动团队标注任务 { "workforces_config" : { "workforces" : [ { "workforce_id" : "l4u9Hpz2JJ67DNN1Hg9", "workers" : [ { "email" : "xiaozhang@163.com" }, { "email" : "xiaoli@163.com" } ] } ] } }
  • URI POST /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id} 表1 路径参数 参数 是否必选 参数类型 描述 dataset_id 是 String 数据集ID。 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 workforce_task_id 是 String 团队标注任务ID。
  • 响应参数 状态码: 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:执行失败
  • URI POST /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id}/notify 表1 路径参数 参数 是否必选 参数类型 描述 dataset_id 是 String 数据集ID。 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 workforce_task_id 是 String 团队标注任务ID。
  • 请求示例 团队标注审核。设置是否通过为“true”,评审分数为“A”。 { "comments" : [ { "worker_id" : "8c15ad080d3eabad14037b4eb00d6a6f", "sample_id" : "0d43f9811d3808a3146c673257d4a1dbhh", "accept" : true, "comment" : "", "score" : "A" } ] }
  • URI POST /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id}/data-annotations/review 表1 路径参数 参数 是否必选 参数类型 描述 dataset_id 是 String 数据集ID。 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 workforce_task_id 是 String 标注任务ID。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 total_number Integer 标注团队总数。 workforces Array of Workforce objects 分页查询到的标注团队列表。 表4 Workforce 参数 参数类型 描述 create_time Long 标注团队的创建时间。 description String 标注团队的描述。 update_time Long 标注团队的更新时间。 worker_count Integer 标注团队的成员总数。 workforce_id String 标注团队ID。 workforce_name String 标注团队名称。 workspace_id String 工作空间ID。未创建工作空间时默认值为“0”,存在创建并使用的工作空间,以实际取值为准。
  • URI GET /v2/{project_id}/workforces 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 指定每一页返回的最大条目数,取值范围[1,100],默认为10。 offset 否 Integer 分页列表的起始页,默认为0。 order 否 String 指定查询的排序顺序。可选值如下: asc:递增排序 desc:递减排序(默认值) search_content 否 String 模糊匹配名称,默认为空。 sort_by 否 String 指定查询的排序方式。可选值如下: create_time:按创建时间排序(默认值) workforce_name:按标注团队名称排序 workforce_task_id 否 String 团队标注任务ID。
  • 响应示例 状态码: 200 OK { "total_number" : 2, "workforces" : [ { "workforce_id" : "ZUH8gqkjuaib8pxkDdz", "workforce_name" : "team-123", "description" : "my team", "worker_count" : 0, "create_time" : 1606354772548, "update_time" : 1606354772548 }, { "workforce_id" : "3Ry04NsqvEybuWYLDvC", "workforce_name" : "team-170a", "description" : "", "worker_count" : 1, "create_time" : 1604644946891, "update_time" : 1606238678626 } ] }
  • 响应示例 状态码: 200 OK { "count" : 2, "tasks" : [ { "dataset_id" : "WxCREuCkBSAlQr9xrde", "task_id" : "tY330MHxV9dqIPVaTRM", "task_name" : "task-cd60", "status" : 1, "create_time" : 1606224714358, "update_time" : 1606224714358, "repetition" : 1, "workforces_config" : { "workforces" : [ { "workforce_id" : "0PfqwXA8M59pppYBx4k", "workforce_name" : "team-123", "workers" : [ { "email" : "xxx@xxx.com", "worker_id" : "6db04ae0afb54d7274a2982255516c29", "role" : 2 }, { "email" : "xxx@xxx.com", "worker_id" : "8c15ad080d3eabad14037b4eb00d6a6f", "role" : 0 } ] } ] }, "synchronize_data" : true, "synchronize_auto_labeling_data" : true, "workforce_stats" : { "workforce_count" : 1, "labeler_count" : 1, "reviewer_count" : 0 }, "sample_stats" : { "total_sample_count" : 309, "unannotated_sample_count" : 308, "unreviewed_sample_count" : 0, "uncheck_sample_count" : 1, "sampled_sample_count" : 0, "rejected_sample_count" : 0, "accepted_sample_count" : 0, "auto_annotation_sample_count" : 0 }, "auto_sync_dataset" : true }, { "dataset_id" : "WxCREuCkBSAlQr9xrde", "task_id" : "iYZx7gScPUozOXner9k", "task_name" : "task-e63f", "status" : 1, "create_time" : 1606184400278, "update_time" : 1606184400278, "repetition" : 1, "workforces_config" : { "workforces" : [ { "workforce_id" : "q3ZFSwORu1ztKljDLYQ", "workforce_name" : "modelarts-team", "workers" : [ { "email" : "xxx@xxx.com", "worker_id" : "afdda13895bc66322ffbf36ae833bcf0", "role" : 0 } ] } ] }, "synchronize_data" : false, "synchronize_auto_labeling_data" : false, "workforce_stats" : { "workforce_count" : 1, "labeler_count" : 1, "reviewer_count" : 0 }, "sample_stats" : { "total_sample_count" : 317, "unannotated_sample_count" : 310, "unreviewed_sample_count" : 0, "uncheck_sample_count" : 0, "sampled_sample_count" : 0, "rejected_sample_count" : 0, "accepted_sample_count" : 7, "auto_annotation_sample_count" : 0 }, "checking_task_desc" : { "checking_task_id" : "onSbri2oqYOmDjDyW17", "action" : 0, "overwrite_last_result" : false }, "auto_sync_dataset" : true } ] }
  • URI GET /v2/{project_id}/datasets/{dataset_id}/workforce-tasks 表1 路径参数 参数 是否必选 参数类型 描述 dataset_id 是 String 数据集ID。 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 分页列表的起始页,默认为0。 limit 否 Integer 指定每一页返回的最大条目数,取值范围[1,1000],默认为1000。
  • 响应示例 状态码: 200 OK { "label_stats" : [ { "name" : "Rabbits", "type" : 1, "property" : { "@modelarts:color" : "#3399ff" }, "count" : 0, "sample_count" : 0 }, { "name" : "Bees", "type" : 1, "property" : { "@modelarts:color" : "#3399ff" }, "count" : 1, "sample_count" : 1 } ], "sample_stats" : { "un_annotation" : 308, "total" : 309, "rejected" : 0, "unreviewed" : 1, "accepted" : 0, "auto_annotation" : 0, "uncheck" : 0 }, "key_sample_stats" : { "total" : 309, "non_key_sample" : 309, "key_sample" : 0 }, "metadata_stats" : { }, "data_spliting_enable" : false }
共93093条