华为云用户手册

  • 模型管理权限 表1 模型管理细化权限说明 权限 对应API接口 授权项 依赖的授权项 IAM 项目 企业项目 导入模型 POST /v1/{project_id}/models modelarts:model:create obs:bucket:ListAllMybuckets obs:object:PutObjectAcl obs:bucket:ListBucket obs:bucket:HeadBucket obs:object:GetObject obs:object:PutObject √ √ 查询模型列表 GET /v1/{project_id}/models modelarts:model:list - √ √ 删除模型 DELETE /v1/{project_id}/models/{model_id} modelarts:model:delete - √ √ 查询模型详情 GET /v1/{project_id}/models/{model_id} modelarts:model:get - √ √ 父主题: 权限策略和授权项
  • 数据管理权限 表1 数据集管理的细化权限说明 权限 对应API接口 授权项 依赖的授权项 IAM项目 企业项目 查询数据集列表 GET /v2/{project_id}/datasets modelarts:dataset:list - √ √ 创建数据集 POST /v2/{project_id}/datasets modelarts:dataset:create obs:bucket:HeadBucket obs:bucket:ListBucket obs:object:PutObject obs:object:PutObject obs:bucket:ListAllMyBuckets √ √ 查询数据集详情 GET /v2/{project_id}/datasets/{dataset_id} modelarts:dataset:get - √ √ 更新数据集 PUT /v2/{project_id}/datasets/{dataset_id} modelarts:dataset:update - √ √ 删除数据集 DELETE /v2/{project_id}/datasets/{dataset_id} modelarts:dataset:delete obs:bucket:ListAllMyBuckets obs:bucket:ListBucket obs:object:DeleteObject √ √ 查询数据集的统计信息 GET /v2/{project_id}/datasets/{dataset_id}/data-annotations/stats modelarts:dataset:get - √ √ 查询数据集监控数据 GET /v2/{project_id}/datasets/{dataset_id}/metrics modelarts:dataset:get - √ √ 查询团队标注任务统计信息 GET /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id}/data-annotations/stats modelarts:dataset:getWorkforceTask - √ √ 查询团队标注任务成员的进度信息 GET /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id}/metrics modelarts:dataset:getWorkforceTask - √ √ 表2 数据集版本管理的细化权限说明 权限 对应API接口 授权项 依赖的授权项 IAM项目 企业项目 查询数据集的版本列表 GET /v2/{project_id}/datasets/{dataset_id}/versions modelarts:dataset:get - √ √ 创建数据集标注版本 POST /v2/{project_id}/datasets/{dataset_id}/versions modelarts:dataset:publishVersion obs:object:PutObject √ √ 查询数据集版本详情 GET /v2/{project_id}/datasets/{dataset_id}/versions/{version_id} modelarts:dataset:get - √ √ 删除数据集标注版本 DELETE /v2/{project_id}/datasets/{dataset_id}/versions/{version_id} modelarts:dataset:deleteVersion obs:bucket:ListAllMyBuckets obs:bucket:ListBucket obs:object:DeleteObject √ √ 表3 样本管理的细化权限说明 权限 对应API接口 授权项 依赖的授权项 IAM项目 企业项目 查询样本列表 GET /v2/{project_id}/datasets/{dataset_id}/data-annotations/samples modelarts:sample:listSamples obs:object:GetObject √ √ 批量添加样本 POST /v2/{project_id}/datasets/{dataset_id}/data-annotations/samples modelarts:sample:addSamples obs:object:PutObject √ √ 批量删除样本 POST /v2/{project_id}/datasets/{dataset_id}/data-annotations/samples/delete modelarts:sample:deleteSamples obs:object:DeleteObject √ √ 查询单个样本信息 GET /v2/{project_id}/datasets/{dataset_id}/data-annotations/samples/{sample_id} modelarts:sample:getSample obs:object:GetObject √ √ 获取样本搜索条件 GET /v2/{project_id}/datasets/{dataset_id}/data-annotations/search-condition modelarts:sample:listSamples - √ √ 分页查询团队标注任务下的样本列表 GET /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id}/data-annotations/samples modelarts:sample:listSamples obs:object:GetObject √ √ 查询团队标注的样本信息 GET /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id}/data-annotations/samples/{sample_id} modelarts:sample:getSample obs:object:GetObject √ √ 表4 标签管理的细化权限说明 权限 对应API接口 授权项 依赖的授权项 IAM项目 企业项目 查询数据集标签列表 GET /v2/{project_id}/datasets/{dataset_id}/data-annotations/labels modelarts:dataset:getDataset - √ √ 创建数据集标签 POST /v2/{project_id}/datasets/{dataset_id}/data-annotations/labels modelarts:dataset:updateDataset - √ √ 批量修改标签 PUT /v2/{project_id}/datasets/{dataset_id}/data-annotations/labels modelarts:dataset:updateDataset - √ √ 批量删除标签 POST /v2/{project_id}/datasets/{dataset_id}/data-annotations/labels/delete modelarts:dataset:updateDataset - √ √ 按标签名称更新单个标签 PUT /v2/{project_id}/datasets/{dataset_id}/data-annotations/labels/{label_name} modelarts:dataset:updateDataset - √ √ 按标签名称删除标签及仅包含此标签的文件 DELETE /v2/{project_id}/datasets/{dataset_id}/data-annotations/labels/{label_name} modelarts:dataset:updateDataset obs:object:DeleteObject √ √ 表5 人工标注的细化权限说明 权限 对应API接口 授权项 依赖的授权项 IAM项目 企业项目 批量更新样本标签 PUT /v2/{project_id}/datasets/{dataset_id}/data-annotations/samples modelarts:dataset:updateDataset obs:object:GetObject √ √ 表6 标注任务管理的细化权限说明 权限 对应API接口 授权项 依赖的授权项 IAM项目 企业项目 查询数据集的团队标注任务列表 GET /v2/{project_id}/datasets/{dataset_id}/workforce-tasks modelarts:dataset:listWorkforceTasks - √ √ 创建团队标注任务 POST /v2/{project_id}/datasets/{dataset_id}/workforce-tasks modelarts:dataset:createWorkforceTask - √ √ 查询团队标注任务详情 GET /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id} modelarts:dataset:getWorkforceTask - √ √ 启动团队标注任务 POST /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id}/acceptance modelarts:dataset:updateWorkforceTask - √ √ 更新团队标注任务 PUT /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id} modelarts:dataset:updateWorkforceTask - √ √ 删除团队标注任务 DELETE /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id} modelarts:dataset:deleteWorkforceTask - √ √ 创建团队标注验收任务 POST /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id}/acceptance modelarts:dataset:updateWorkforceTask - √ √ 查询团队标注验收任务报告 GET /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id}/acceptance/report modelarts:dataset:getWorkforceTask - √ √ 更新团队标注验收任务状态 PUT /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id}/acceptance/status modelarts:dataset:updateWorkforceTask - √ √ 表7 团队标注流程管理的细化权限说明 权限 对应API接口 授权项 依赖的授权项 IAM项目 企业项目 提交验收任务的样本评审意见 POST /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id}/acceptance/batch-comment modelarts:dataset:updateWorkforceTask - √ √ 批量更新团队标注样本的标签 PUT /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id}/data-annotations/samples modelarts:dataset:updateWorkforceTask - √ √ 表8 标注团队管理的细化权限说明 权限 对应API接口 授权项 依赖的授权项 IAM项目 企业项目 查询标注团队列表 GET /v2/{project_id}/workforces modelarts:processTask:listWorkforce - √ √ 创建标注团队 POST /v2/{project_id}/workforces modelarts:processTask:createWorkforce - √ √ 查询标注团队详情 GET /v2/{project_id}/workforces/{workforce_id} modelarts:processTask:getWorkforce - √ √ 更新标注团队 PUT /v2/{project_id}/workforces/{workforce_id} modelarts:processTask:updateWorkforce - √ √ 删除标注团队 DELETE /v2/{project_id}/workforces/{workforce_id}/workers/{worker_id} modelarts:processTask:updateWorkforce - √ √ 表9 标注团队成员管理的细化权限说明 权限 对应API接口 授权项 依赖的授权项 IAM项目 企业项目 向标注成员发送邮件 POST /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id}/notify modelarts:dataset:updateWorkforceTask - √ √ 查询所有团队的标注成员列表 GET /v2/{project_id}/workforces/workers modelarts:processTask:getWorkforce - √ √ 查询标注团队的成员列表 GET /v2/{project_id}/workforces/{workforce_id}/workers modelarts:processTask:getWorkforce - √ √ 创建标注团队的成员 POST /v2/{project_id}/workforces/{workforce_id}/workers modelarts:processTask:updateWorkforce - √ √ 批量删除标注团队成员 POST /v2/{project_id}/workforces/{workforce_id}/workers/batch-delete modelarts:processTask:updateWorkforce - √ √ 查询标注团队成员详情 GET /v2/{project_id}/workforces/{workforce_id}/workers/{worker_id} modelarts:processTask:getWorkforce - √ √ 更新标注团队成员 PUT /v2/{project_id}/workforces/{workforce_id}/workers/{worker_id} modelarts:processTask:updateWorkforce - √ √ 删除标注团队成员 DELETE /v2/{project_id}/workforces/{workforce_id}/workers/{worker_id} modelarts:processTask:updateWorkforce - √ √ 表10 数据导入任务的细化权限说明 权限 对应API接口 授权项 依赖的授权项 IAM项目 企业项目 查询数据集导入任务列表 GET /v2/{project_id}/datasets/{dataset_id}/import-tasks modelarts:dataset:getDataset - √ √ 创建导入任务 POST /v2/{project_id}/datasets/{dataset_id}/import-tasks modelarts:dataset:createImportTask - √ √ 查询数据集导入任务的详情 GET /v2/{project_id}/datasets/{dataset_id}/import-tasks/{task_id} modelarts:dataset:getDataset - √ √ 表11 数据导出任务的细化权限说明 权限 对应API接口 授权项 依赖的授权项 IAM项目 企业项目 查询数据集导出任务列表 GET /v2/{project_id}/datasets/{dataset_id}/export-tasks modelarts:dataset:getDataset - √ √ 创建数据集导出任务 POST /v2/{project_id}/datasets/{dataset_id}/export-tasks modelarts:dataset:createExportTask - √ √ 查询数据集导出任务的状态 GET /v2/{project_id}/datasets/{resource_id}/export-tasks/{task_id} modelarts:dataset:getDataset - √ √ 表12 数据同步任务的细化权限说明 权限 对应API接口 授权项 依赖的授权项 IAM项目 企业项目 同步数据集 POST /v2/{project_id}/datasets/{dataset_id}/sync-data modelarts:dataset:updateDataset obs:bucket:ListBucket obs:bucket:ListAllMyBuckets √ √ 查询数据集同步任务的状态 GET /v2/{project_id}/datasets/{dataset_id}/sync-data/status modelarts:dataset:getDataset - √ √ 表13 智能任务的细化权限说明 权限 对应API接口 授权项 依赖的授权项 IAM项目 企业项目 查询智能标注的样本列表 GET /v2/{project_id}/datasets/{dataset_id}/auto-annotations/samples modelarts:sample:listSamples obs:object:GetObject √ √ 查询单个智能标注样本的信息 GET /v2/{project_id}/datasets/{dataset_id}/auto-annotations/samples/{sample_id} modelarts:sample:getSample obs:object:GetObject √ √ 分页查询智能任务列表 GET /v2/{project_id}/datasets/{dataset_id}/tasks modelarts:dataset:getDataset - √ √ 启动智能任务 POST /v2/{project_id}/datasets/{dataset_id}/tasks modelarts:dataset:updateDataset obs:bucket:PutBucketAcl obs:bucket:GetBucketAcl obs:bucket:GetBucketPolicy obs:bucket:DeleteBucketPolicy obs:bucket:ListBucket obs:bucket:ListAllMyBuckets obs:object:DeleteObject obs:bucket:ListBucketVersions √ √ 获取智能任务的信息 GET /v2/{project_id}/datasets/{dataset_id}/tasks/{task_id} modelarts:dataset:getDataset - √ √ 停止智能任务 POST /v2/{project_id}/datasets/{dataset_id}/tasks/{task_id}/stop modelarts:dataset:updateDataset - √ √ 表14 处理任务的细化权限说明 权限 对应API接口 授权项 依赖的授权项 IAM项目 企业项目 查询处理任务列表 GET /v2/{project_id}/processor-tasks modelarts:processTask:listProcessTasks - √ √ 创建处理任务 POST /v2/{project_id}/processor-tasks modelarts:processTask:createProcessTask obs:bucket:HeadBucket obs:bucket:ListBucket obs:object:PutObject obs:object:PutObject obs:bucket:ListAllMyBuckets obs:bucket:PutBucketAcl obs:bucket:GetBucketAcl obs:bucket:GetBucketPolicy obs:bucket:DeleteBucketPolicy √ √ 查询数据处理的算法类别 GET /v2/{project_id}/processor-tasks/items modelarts:processTask:getProcessTask - √ √ 查询处理任务详情 GET /v2/{project_id}/processor-tasks/{task_id}/versions/{version_id} modelarts:processTask:getProcessTask - √ √ 更新处理任务 PUT /v2/{project_id}/processor-tasks/{task_id} modelarts:processTask:updateProcessTask - √ √ 删除处理任务 DELETE /v2/{project_id}/processor-tasks/{task_id} modelarts:processTask:deleteProcessTask obs:bucket:PutBucketAcl obs:bucket:GetBucketAcl obs:bucket:GetBucketPolicy obs:bucket:DeleteBucketPolicy obs:bucket:ListBucket obs:bucket:ListAllMyBuckets obs:object:DeleteObject √ √ 查询数据处理任务的版本列表 GET /v2/{project_id}/processor-tasks/{task_id}/versions modelarts:processTask:getProcessTask obs:bucket:HeadBucket obs:bucket:ListBucket obs:object:PutObject obs:object:PutObject obs:bucket:ListAllMyBuckets obs:bucket:PutBucketAcl obs:bucket:GetBucketAcl obs:bucket:GetBucketPolicy obs:bucket:DeleteBucketPolicy √ √ 创建数据处理任务版本 POST /v2/{project_id}/processor-tasks/{task_id}/versions modelarts:processTask:createProcessTask - √ √ 查询数据处理任务的版本详情 GET /v2/{project_id}/processor-tasks/{task_id}/versions modelarts:processTask:getProcessTask - √ √ 删除数据处理任务的版本 DELETE /v2/{project_id}/processor-tasks/{task_id}/versions/{version_id} modelarts:processTask:deleteProcessTask obs:bucket:PutBucketAcl obs:bucket:GetBucketAcl obs:bucket:GetBucketPolicy obs:bucket:DeleteBucketPolicy obs:bucket:ListBucket obs:bucket:ListAllMyBuckets obs:object:DeleteObject √ √ 查询数据处理任务版本的结果展示 GET /v2/{project_id}/processor-tasks/{task_id}/versions/{version_id}/results modelarts:processTask:getProcessTask obs:object:GetObject √ √ 停止数据处理任务的版本 POST /v2/{project_id}/processor-tasks/{task_id}/versions/{version_id}/stop modelarts:processTask:updateProcessTask - √ √ 父主题: 权限策略和授权项
  • 请求示例 如下以查询“job_id”为10,“version_id”为10,文件名为“log1.log”的日志为例。 GET https://endpoint/v1/{project_id}/training-jobs/10/versions/10/aom-log?log_file=log1.log&base_line= 1551252759254000002&lines=50&order=desc
  • 响应消息 响应参数如表3所示。 表3 响应参数 参数 参数类型 说明 error_message String 调用失败时的错误信息。 调用成功时无此字段。 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 content String 请求获得日志的内容。 lines Integer 获得日志的行数。 start_line String 该段日志内容的开始位置。 end_line String 该段日志内容的结束位置。 is_success Boolean 请求是否成功。
  • 响应示例 成功响应示例 { "is_success": true, "start_line":1551252759254000002, "content": "Log string", "end_line": "1551252759254000003", "lines": "1" } 失败响应示例 { "is_success": false, "error_message": "Error string", "error_code": "ModelArts.0105" }
  • 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:向上查询。
  • 支持的授权项 策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下: 权限:允许或拒绝某项操作。 对应API接口:自定义策略实际调用的API接口。 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写入授权项,才能实现对应的权限功能。 IAM项目/企业项目:自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。关于IAM项目与企业项目的区别,详情请参见:IAM与企业管理的区别。 “√”表示支持,“x”表示暂不支持。
  • 基本概念 账号 用户注册时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建IAM用户并使用他们进行日常管理工作。 IAM用户 由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和IAM用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域 指云资源所在的物理位置,同一区域内可用区间内网互通,不同区域间内网不互通。通过在不同地区创建云资源,可以将应用程序设计的更接近特定客户的要求,或满足不同地区的法律或其他要求。 可用区 一个可用区(AZ)是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 同样在我的凭证下,您可以查看项目ID。 图1 项目隔离模型 企业项目 企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。
  • 响应示例 成功响应示例 { "ai_project": { "id": "default-ai-project" }, "creation_timestamp": "1594887749962", "description": "update notebook", "flavor": "modelarts.bm.gpu.v100NV32", "flavor_details": { "name": "modelarts.bm.gpu.v100NV32", "params": { "CPU": 8, "GPU": 1, "gpu_type": "v100NV32", "memory": "64GiB" }, "status": "onSale", "type": "GPU" }, "id": "DE-7d558ef8-c73d-11ea-964c-0255ac100033", "latest_update_timestamp": "1594888143062", "name": "notebook-c6fd", "profile": { "de_type": "Notebook", "description": "multi engine, gpu, python 3.6 for notebook", "flavor_type": "GPU", "id": "Python3-gpu", "name": "Python3", "provision": { "spec": { "engine": "CCE", "params": { "annotations": null, "image_name": "mul-kernel-gpu-cuda-cp36", "image_tag": "2.0.5-B003", "namespace": "atelier" } }, "type": "Docker" } }, "status": "RUNNING", "user": { "id": "15dda26361214ca2a5953917d2f48ffb", "name": "ops_dev_env" }, "workspace": { "id": "0" } } 失败响应示例 { "error_message": "The instance does not exist.", "error_code": "ModelArts.6309" }
  • 响应示例 成功响应示例 { "ai_project": { "id": "default-ai-project" }, "creation_timestamp": "1594887749962", "description": "", "flavor": "modelarts.bm.gpu.v100NV32", "flavor_details": { "name": "modelarts.bm.gpu.v100NV32", "params": { "CPU": 8, "GPU": 1, "gpu_type": "v100NV32", "memory": "64GiB" }, "status": "onSale", "type": "GPU" }, "id": "DE-7d558ef8-c73d-11ea-964c-0255ac100033", "latest_update_timestamp": "1594888070775", "name": "notebook-c6fd", "profile": { "de_type": "Notebook", "description": "multi engine, gpu, python 3.6 for notebook", "flavor_type": "GPU", "id": "Multi-Engine 1.0 (python3)-gpu", "name": "Multi-Engine 1.0 (python3)-gpu", "provision": { "spec": { "engine": "CCE", "params": { "annotations": null, "image_name": "mul-kernel-gpu-cuda-cp36", "image_tag": "2.0.5-B003", "namespace": "atelier" } }, "type": "Docker" } }, "spec": { "annotations": { "target_domain": "https://modelarts-notebook-2.xxxxxx.com", "url": "https://modelarts-lvs-common-lb.xxxxxx.com:32000/modelarts/hubv100/notebook/user/DE-7d558ef8-c73d-11ea-964c-0255ac100033" }, "auto_stop": { "duration": 3600, "enable": true, "prompt": true, "remain_time": 3336, "stop_timestamp": 1594891408723 }, "extend_params": null, "failed_reasons": null, "repository": null, "extend_storage": null, "storage": { "location": { "path": "/home/ma-user/work", "volume_size": 5 }, "type": "evs" } }, "status": "RUNNING", "user": { "id": "15dda26361214ca2a5953917d2f48ffb", "name": "ops_dev_env" }, "workspace": { "id": "0" } } 失败响应示例 { "error_message": "The instance does not exist.", "error_code": "ModelArts.6309" }
  • 响应示例 成功响应示例 { "instances": [ { "ai_project": { "id": "default-ai-project" }, "creation_timestamp": "1594887749962", "description": "", "flavor": "modelarts.bm.gpu.v100NV32", "flavor_details": { "name": "modelarts.bm.gpu.v100NV32", "params": { "CPU": 8, "GPU": 1, "gpu_type": "v100NV32", "memory": "64GiB" }, "status": "onSale", "type": "GPU" }, "id": "DE-7d558ef8-c73d-11ea-964c-0255ac100033", "latest_update_timestamp": "1594887749962", "name": "notebook-c6fd", "profile": { "de_type": "Notebook", "description": "multi engine, gpu, python 3.6 for notebook", "flavor_type": "GPU", "id": "Multi-Engine 1.0 (python3)-gpu", "name": "Multi-Engine 1.0 (python3)-gpu", "provision": { "annotations": { "category": "Multi-Engine 1.0 (python3)", "type": "system" }, "spec": { "engine": "CCE", "params": { "annotations": null, "image_name": "mul-kernel-gpu-cuda-cp36", "image_tag": "2.0.5-B003", "namespace": "atelier" } }, "type": "Docker" } }, "spec": { "annotations": { "target_domain": "https://modelarts-notebook-2.xxxxxx.com", "url": "https://modelarts-lvs-common-lb.xxxxxx.com:32000/modelarts/hubv100/notebook/user/DE-7d558ef8-c73d-11ea-964c-0255ac100033" }, "auto_stop": { "duration": 3600, "enable": true, "prompt": true, "remain_time": 3450, "stop_timestamp": 1594891408723 }, "extend_params": null, "failed_reasons": null, "extend_storage": null, "storage": { "location": { "path": "/home/ma-user/work", "volume_size": 5 }, "type": "evs" } }, "status": "RUNNING", "user": { "id": "15dda26361214ca2a5953917d2f48ffb", "name": "ops_dev_env" }, "workspace": { "id": "0" } }, { "ai_project": { "id": "default-ai-project" }, "creation_timestamp": "1594883877728", "description": "", "flavor": "modelarts.vm.cpu.2u", "flavor_details": { "name": "modelarts.vm.cpu.2u", "params": { "CPU": 2, "GPU": 0, "memory": "8GiB" }, "status": "onSale", "type": "CPU" }, "id": "DE-7936a360-c734-11ea-a72b-0255ac100033", "latest_update_timestamp": "1594883877728", "name": "notebook-b1b8", "profile": { "de_type": "Notebook", "description": "multi engine, cpu, python 3.6 for notebook", "flavor_type": "CPU", "id": "Multi-Engine 1.0 (python3)-cpu", "name": "Multi-Engine 1.0 (python3)-cpu", "provision": { "annotations": { "category": "Multi-Engine 1.0 (python3 推荐)", "type": "system" }, "spec": { "engine": "CCE", "params": { "annotations": null, "image_name": "mul-kernel-cpu-cp36", "image_tag": "2.0.5-B003", "namespace": "atelier" } }, "type": "Docker" } }, "spec": { "annotations": { "target_domain": "https://modelarts-notebook.xxxxxx.com", "url": "" }, "auto_stop": { "duration": 3600, "enable": true, "prompt": true }, "extend_params": null, "failed_reasons": null, "storage": { "location": { "path": "/home/ma-user/work", "volume_size": 5 }, "type": "evs" } }, "status": "STOPPED", "user": { "id": "15dda26361214ca2a5953917d2f48ffb", "name": "ops_dev_env" }, "workspace": { "id": "0" } }], "total_count": 2 }
  • 请求示例 如下以创建名为“notebook-instance”,配置ID为“Python3-gpu”的实例为例。 请求示例 { "name": "notebook-instance", "description": "", "profile_id": "Multi-Engine 1.0 (python3)-gpu", "flavor": "modelarts.bm.gpu.v100NV32", "spec": { "storage": { "location": { "volume_size": 5 }, "type": "evs" }, "auto_stop": { "enable": true, "duration": 3600 } }, "workspace": { "id": "0" } }
  • 响应示例 成功响应示例 { "ai_project": { "id": "default-ai-project" }, "creation_timestamp": "1594887749962", "description": "", "flavor": "modelarts.bm.gpu.v100NV32", "flavor_details": { "name": "modelarts.bm.gpu.v100NV32", "params": { "CPU": 8, "GPU": 1, "gpu_type": "v100NV32", "memory": "64GiB" }, "status": "onSale", "type": "GPU" }, "id": "DE-7d558ef8-c73d-11ea-964c-0255ac100033", "latest_update_timestamp": "1594887749962", "name": "notebook-c6fd", "profile": { "de_type": "Notebook", "description": "multi engine, gpu, python 3.6 for notebook", "flavor_type": "GPU", "id": "Multi-Engine 1.0 (python3)-gpu", "name": "Multi-Engine 1.0 (python3)-gpu", "provision": { "spec": { "engine": "CCE", "params": { "image_name": "mul-kernel-gpu-cuda-cp36", "image_tag": "2.0.5-B003", "namespace": "atelier" } }, "type": "Docker" } }, "spec": { "annotations": { "target_domain": "https://modelarts-notebook-2.xxxx.com", "url": "" }, "auto_stop": { "duration": 3600, "enable": true, "prompt": true }, "storage": { "location": { "path": "/home/ma-user/work", "volume_size": 5 }, "type": "evs" } }, "status": "CREATING", "user": { "id": "15dda26361214ca2a5953917d2f48ffb", "name": "ops_dev_env" }, "workspace": { "id": "0" } } 失败响应示例 { "error_message": "The param path needs to end with /.", "error_code": "ModelArts.6318" }
  • 作业状态参考 作业状态如表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,审核作业失败。 父主题: 训练管理(旧版)
  • 响应示例 成功响应示例 { "is_success": true, "engines": [ { "engine_type": 1, "engine_name": "TensorFlow", "engine_id": 1, "engine_version": "TF-1.4.0-python2.7" } ] } 失败响应示例 { "is_success": false, "error_message": "Error string", "error_code": "ModelArts.0105" }
  • 响应消息 响应参数如表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 训练作业使用的引擎版本。
  • URI GET /v1/{project_id}/job/resource-specs 参数说明如表1所示。 表1 参数说明 参数 是否必选 参数类型 说明 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 表2 查询检索参数说明 参数 是否为必选 参数类型 说明 job_type 否 String 指定作业的类型,可选的有“train”和“inference”。查询自动学习资源规格无需此参数。 engine_id 否 Long 指定作业的引擎ID,默认为“0”。查询自动学习资源规格无需此参数。 project_type 否 Integer 项目类型。默认为“0”。 0:非自动学习项目。 1:自动学习,图像分类。 2:自动学习,物体检测。 3:自动学习,预测分析。
  • 响应消息 响应参数如表3所示。 表3 响应参数 参数 参数类型 说明 is_success Boolean 请求是否成功。 error_message String 调用失败时的错误信息。 调用成功时无此字段。 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 spec_total_count Integer 作业资源规格总数。 specs specs结构数组 资源规格参数列表,如表4所示。 表4 specs属性列表说明 参数 参数类型 说明 spec_id Long 资源规格的ID。 core String 资源规格的核数。 cpu String 资源规格CPU内存。 gpu_num Integer 资源规格GPU的个数。 gpu_type String 资源规格GPU的类型。 spec_code String 云资源的规格类型。 max_num Integer 可以选择的最大节点数量。 unit_num Integer 计价单元个数。 storage String 资源规格的ssd大小。 interface_type Integer 接口类型。 no_resource Boolean 所选规格资源是否充足,True代表没有资源。
  • 响应示例 成功响应示例 { "specs": [ { "spec_id": 2, "core": "2", "cpu": "8", "gpu_num": 0, "gpu_type": "", "spec_code": "modelarts.vm.cpu.2u", "unit_num": 1, "max_num": 2, "storage": "", "interface_type": 1, "no_resource": false } ], "is_success": true, "spec_total_count": 1 } 失败响应示例 { "is_success": false, "error_message": "Error string", "error_code": "ModelArts.0105" }
  • 响应示例 成功响应示例 { "duration": 33000, "service_url": "https://console.huaweicloud.com/modelarts2/tensorboard/04f679b17380d32a2f32c00335c4b5ba/197/", "job_name": "apiTest-11", "create_time": 1565149736000, "train_url": "/wph-test/zl-test/Flowers-Set/ApiTest/", "job_id": 197, "job_desc": "ModelArts API Dialtest", "resource_id": "e17dd874-b5e0-4e9b-aaf0-22b045ad8571", "status": 7 } 失败响应示例 { "error_message": "The length of search content should be in [0,100]", "error_code": "ModelArts.0104" }
  • 响应消息 响应参数如表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 可视化作业的运行数量上限。
  • 响应消息 响应参数如表5所示。 表5 响应参数 参数 参数类型 说明 is_success Boolean 请求是否成功。 error_message String 调用失败时的错误信息。 调用成功时无此字段。 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 job_id Long 可视化作业的ID。 job_name String 可视化作业的名称 status Integer 可视化作业的运行状态,详细作业状态列表请参见作业状态参考。 create_time Long 可视化作业的创建时间,时间戳格式。 service_url String 可视化作业的endpoint。
  • 响应示例 成功响应示例 { "is_success": true, "job_id": "10", "job_name": "visualization-job", "status": "1", "create_time": "1524189990635" } 失败响应示例 { "is_success": false, "error_message": "error message", "error_code": "ModelArts.0103" }
  • 请求消息 请求参数如表2所示。 表2 请求参数 参数 是否必选 参数类型 说明 job_name 是 String 可视化作业名称。限制为1-20位只含数字,字母,下划线,中划线的名称。 job_desc 否 String 对可视化作业的描述,默认为空,字符串的长度限制为[0, 256]。 train_url 是 String OBS路径地址。 job_type 否 String 可视化的类型,可选的有tensorboard和mindinsight,默认为tensorboard。 flavor 否 Object 创建可视化作业选择的规格,用户无需填写。参见表3。 schedule 否 Object 自动停止设置。参见表4。 表3 flavor属性列表 参数 是否必选 参数类型 说明 code 是 String 可视化作业选择的资源规格编码。通过flavor接口获得。 表4 schedule属性列表 参数 是否必选 参数类型 说明 type 是 String 设置为stop。 time_unit 是 String 自动停止功能的时间单位 HOURS。 duration 是 Int 自动停止,时间范围为[0,24]。
  • 请求示例 如下以创建名为“visualization-job”,描述为“this is a visualization job”,OBS路径为“/obs/name/”的可视化作业为例。 POST https://endpoint/v1/{project_id}/visualization-jobs { "job_name": "visualization-job", "job_desc": "this is a visualization job", "train_url": "/obs/name/", "job_type": "mindinsight", "schedule": [ { "type": "stop", "time_unit": "HOURS", "duration": 1 } ] }
  • 响应消息 响应参数如表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的桶路径。
  • 响应示例 成功响应示例 { "spec_code": "modelarts.vm.gpu.v100", "user_image_url": "100.125.5.235:20202/jobmng/custom-cpu-base:1.0", "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", "gpu_type": "nvidia-v100", "dataset_version_id": "2ff0d6ba-c480-45ae-be41-09a8369bfc90", "engine_name": "TensorFlow", "is_success": true, "nas_mount_path": "/home/work/nas", "worker_server_num": 1, "nas_share_addr": "192.168.8.150:/", "train_url": "/test/minst/train_out/out1/", "nas_type": "nfs", "spec_id": 4, "parameter": [ { "label": "learning_rate", "value": 0.01 } ], "log_url": "/usr/log/", "config_name": "config123", "app_url": "/usr/app/", "create_time": 1559045426000, "dataset_id": "38277e62-9e59-48f4-8d89-c8cf41622c24", "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 } } ], "cpu": "64", "model_id": 4, "boot_file_url": "/usr/app/boot.py", "dataset_name": "dataset-test", "pool_id": "pool9928813f", "config_desc": "This is a config desc test", "gpu_num": 1, "data_source": [ { "type": "obs", "data_url": "/test/minst/data/" } ], "pool_name": "pnt1", "dataset_version_name": "dataset-version-test", "core": "8", "engine_type": 1, "engine_id": 3, "engine_version": "TF-1.8.0-python2.7", "data_url": "/test/minst/data/" } 失败响应示例 { "is_success": false, "error_message": "Error string", "error_code": "ModelArts.0105" }
  • URI GET /v1/{project_id}/training-job-configs/{config_name} 参数说明如表1所示。 表1 路径参数 参数 是否必选 参数类型 说明 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 config_name 是 String 训练作业参数的名称。 表2 Query参数 参数 是否必选 参数类型 说明 config_type 否 String 指定要查询的配置类型,可选值有以下两种 “custom”为查询用户自定义配置。 “sample”为查询示例配置,默认为“custom”。
共100000条
提示

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