华为云用户手册

  • 调用API获取项目ID 项目ID通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为GET https://{iam-endpoint}/v3/projects,其中{iam-endpoint}为 IAM 的终端节点,可以从地区和终端节点处获取。 响应示例如下,例如ModelArts部署的区域为"cn-north-4",响应消息体中查找“name”为"cn-north-4",其中projects下的“id”即为项目ID。 {"projects": [{"domain_id": "65382450e8f64ac0870cd180d14e684b","is_domain": false,"parent_id": "65382450e8f64ac0870cd180d14e684b","name": "cn-north-4","description": "","links": {"next": null,"previous": null,"self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99"},"id": "a4a5d4098fb4474fa22cd05f897d6b99","enabled": true}],"links": {"next": null,"previous": null,"self": "https://www.example.com/v3/projects"}}
  • 从控制台获取项目ID和名称 从控制台获取项目ID(project_id)和名称(project name)的步骤如下: 注册并登录管理ModelArts控制台。 在页面右上角单击用户名,然后在下拉列表中单击“我的凭证”,进入“我的凭证”页面。 如果您登录的是华为云官网,而非管理控制台。在单击用户名后,选择下拉列表中的“帐号中心”,然后单击“管理我的凭证”进入“我的凭证”页面。 在“API凭证”页面的项目列表中查看项目ID和名称(即“项目”)。 图1 查看项目ID 多项目时,展开“所属区域”,从“项目ID”列获取子项目ID。
  • 开发环境权限 表1 开发环境细化权限说明 权限 对应API接口 授权项 依赖的授权项 IAM项目 企业项目 创建开发环境实例 POST /v1/{project_id}/notebooks modelarts:notebook:create ecs:serverKeypairs:create swr:repository:getNamespace swr:repository:listNamespace swr:repository:deleteTag swr:repository:getRepository swr:repository:listTags swr:instance:createTempCredential iam:users:getUser iam:users:listUsers iam:projects:listProjects mrs:cluster:get smn:topic:publish obs:object:PutObject obs:object:GetObject obs:object:GetObjectVersion obs:bucket:HeadBucket obs:object:DeleteObject obs:object:GetObject obs:bucket:CreateBucket obs:bucket:ListBucket modelarts:trainJob:list modelarts:trainJob:update modelarts:trainJobVersion:delete modelarts:pool:list √ √ 查询开发环境实例列表 GET /v1/{project_id}/notebooks modelarts:notebook:list - √ √ 查询开发环境实例详情 GET /v1/{project_id}/notebooks/{id} modelarts:notebook:get - √ √ 更新开发环境实例信息 PUT /v1/{project_id}/notebooks/{id} modelarts:notebook:update - √ √ 删除开发环境实例 DELETE /v1/{project_id}/notebooks/{id} modelarts:notebook:delete - √ √ 启动新版开发环境实例 POST /v1/{project_id}/notebooks/{id}/start modelarts:notebook:start - √ √ 停止新版开发环境实例 POST /v1/{project_id}/notebooks/{id}/stop modelarts:notebook:stop - √ √ 查询支持的镜像列表 GET /v1/{project_id}/images modelarts:image:list - √ √ 查询镜像详情 GET /v1/{project_id}/images/{id} modelarts:image:get - √ √ 查询镜像组列表 GET /v1/{project_id}/images/group modelarts:image:listGroup - √ √ 注册 自定义镜像 POST /v1/{project_id}/images modelarts:image:register - √ √ 删除自定义镜像 DELETE /v1/{project_id}/images/{id} modelarts:image:delete - √ √ 保存成自定义镜像 POST /v1/{project_id}/notebooks/{id}/create-image modelarts:image:create - √ √ 获取开发环境挂载的存储列表 GET /v1/{project_id}/notebooks/{id}/storage modelarts:notebook:listMountedStorages - √ √ 挂载开发环境存储 POST /v1/{project_id}/notebooks/{instance_id}/storage modelarts:notebook:mountStorage - √ √ 获取开发环境挂载的存储详情 GET /v1/{project_id}/notebooks/{instance_id}/storage/{storage_id} modelarts:notebook:getMountedStorage - √ √ 卸载开发环境存储 DELETE /v1/{project_id}/notebooks/{instance_id}/storage/{storage_id} modelarts:notebook:umountStorage - √ √ 打开serverless 开发环境实例(codelab) Post /v1/{project_id}/notebooks/open modelarts:notebook:open - √ √ 获取所有的开发环境实例列表 GET /v1/{project_id}/notebooks/all modelarts:notebook:listAllNotebooks - √ × 更新开发环境实例停止规则 PATCH /v1/{project_id}/notebooks/{id}/lease modelarts:notebook:updateStopPolicy - √ √ 父主题: 权限策略和授权项
  • 请求示例 如下以创建名为“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"}
  • 响应示例 成功响应示例 { "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"}
  • 响应消息 响应参数如表3所示。 表3 响应参数 参数 参数类型 说明 error_message String 调用失败时的错误信息。 调用成功时无此字段。 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 content String 请求获得日志的内容。 lines Integer 获得日志的行数。 start_line String 该段日志内容的开始位置。 end_line String 该段日志内容的结束位置。 is_success Boolean 请求是否成功。
  • 请求示例 如下以查询“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
  • 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:向上查询。
  • 工作空间管理权限 表1 工作空间管理细化权限说明 权限 对应API接口 授权项 依赖的授权项 IAM项目 企业项目 创建工作空间 POST /v1/{project_id}/workspaces modelarts:workspace:create - √ √ 查询工作空间列表 GET /v1/{project_id}/workspaces modelarts:workspace:list - √ √ 查询工作空间详情 GET /v1/{project_id}/workspaces/{ws_id} modelarts:workspace:get - √ √ 修改工作空间 PUT /v1/{project_id}/workspaces/{ws_id} modelarts:workspace:update - √ √ 删除工作空间 DELETE /v1/{project_id}/workspaces/{ws_id} modelarts:workspace:delete modelarts:service:delete modelarts:model:delete modelarts:tensorboard:delete modelarts:trainJob:delete modelarts:exemlProject:deletemodelarts:notebook:delete modelarts:dataset:delete modelarts:notebook:delete - √ √ 查询工作空间配额 GET /v1/{project_id}/workspaces/{workspace_id}/quotas modelarts:workspace:getQuotas - √ √ 修改工作空间配额 PUT /v1/{project_id}/workspaces/{workspace_id}/quotas modelarts:workspace:updateQuotas - √ √ 父主题: 权限策略和授权项
  • 响应示例 成功响应示例 { "is_success": true, "job_id": 10, "job_name": "testModelArtsJob", "job_desc": "testModelArtsJob desc", "version_count": 2, "versions": [ { "version_id": 10, "version_name": "V0004", "pre_version_id": 5, "engine_type": 1, "engine_name": "TensorFlow", "engine_id": 1, "engine_version": "TF-1.4.0-python2.7", "status": 10, "app_url": "/usr/app/", "boot_file_url": "/usr/app/boot.py", "create_time": 1524189990635, "parameter": [ { "label": "learning_rate", "value": 0.01 } ], "duration": 532003, "spec_id": 1, "core": 2, "cpu": 8, "gpu": true, "gpu_num": 2, "gpu_type": "Pnt1", "worker_server_num": 1, "data_url": "/usr/data/", "train_url": "/usr/train/", "log_url": "/usr/log/", "dataset_version_id": "2ff0d6ba-c480-45ae-be41-09a8369bfc90", "dataset_id": "38277e62-9e59-48f4-8d89-c8cf41622c24", "data_source": [ { "type": "obs", "data_url": "/qianjiajun-test/minst/data/" } ], "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", "model_id": 1, "model_metric_list": "{\"metric\":[{\"metric_values\":{\"recall\":0.005833,\"precision\":0.000178,\"accuracy\":0.000937},\"reserved_data\":{},\"metric_meta\":{\"class_name\":0,\"class_id\":0}}],\"total_metric\":{\"total_metric_meta\":{},\"total_reserved_data\":{},\"total_metric_values\":{\"recall\":0.005833,\"id\":0,\"precision\":0.000178,\"accuracy\":0.000937}}}", "system_metric_list": "{\"cpuUsage\":[\"0\",\"3.10\",\"5.76\",\"0\",\"0\",\"0\",\"0\"],\"memUsage\":[\"0\",\"0.77\",\"2.09\",\"0\",\"0\",\"0\",\"0\"],\"gpuUtil\":[\"0\",\"0.25\",\"0.88\",\"0\",\"0\",\"0\",\"0\"],\"gpuMemUsage\":[\"0\",\"0.65\",\"6.01\",\"0\",\"0\",\"0\",\"0\"],\"diskReadRate\":[\"0\",\"91811.07\",\"38846.63\",\"0\",\"0\",\"0\",\"0\"],\"diskWriteRate\":[\"0\",\"2.23\",\"0.94\",\"0\",\"0\",\"0\",\"0\"],\"recvBytesRate\":[\"0\",\"5770405.50\",\"2980077.75\",\"0\",\"0\",\"0\",\"0\"],\"sendBytesRate\":[\"0\",\"12607.17\",\"10487410.00\",\"0\",\"0\",\"0\",\"0\"],\"interval\":1}", "dataset_name": "dataset-test", "dataset_version_name": "dataset-version-test", "start_time": 1563172362000, "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 } } ], "pool_id": "pool9928813f", "pool_name": "pnt1", "nas_mount_path": "/home/work/nas", "nas_share_addr": "192.168.8.150:/", "nas_type": "nfs" } ]} 失败响应示例 { "is_success": false, "error_message": "Error string", "error_code": "ModelArts.0105"}
  • 响应消息 响应参数如表3所示。 表3 响应参数 参数 参数类型 说明 is_success Boolean 请求是否成功。 error_message String 调用失败时的错误信息。 调用成功时无此字段。 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 job_id Long 训练作业的ID。 job_name String 训练作业的名称。 job_desc String 训练作业的描述信息。 version_count Long 训练作业的版本数。 versions JSON Array 训练作业的运行版本参数。该样例请参考响应样例。属性详情参见表4。 表4 versions属性列表 参数 参数类型 说明 version_id Long 训练作业的版本ID。 version_name String 训练作业的版本名称。 pre_version_id Long 训练作业前一版本的ID。 engine_type Long 训练作业的引擎类型。 engine_name String 训练作业的引擎名称。 engine_id Long 训练作业的引擎ID。 engine_version String 训练作业的引擎版本。 status Int 训练作业的状态。 app_url String 训练作业的代码目录。 boot_file_url String 训练作业的代码启动文件。 create_time Long 训练作业的创建时间。 parameter JSON Array 训练作业的运行参数。当为自定义镜像训练作业的时候,此参数为容器环境变量。具体请参见表5。 duration Long 训练作业的运行时间,单位为毫秒。 spec_id Long 训练作业资源规格ID。 core String 资源规格的核数。 cpu String 资源规格CPU内存。 gpu Boolean 是否使用gpu。 gpu_num Integer 资源规格gpu的个数。 gpu_type String 资源规格gpu的类型。 worker_server_num Integer 训练作业worker的个数。 data_url String 训练作业的数据集。 train_url String 训练作业输出文件OBS路径。 log_url String 训练作业的日志OBS输出路径URL,默认为空。如:“/usr/log/”。 dataset_version_id String 训练作业的数据集版本ID。 dataset_id String 训练作业的数据集ID。 data_source JSON Array 训练作业使用的多数据集。具体请参见表6。 model_id Long 训练作业的模型ID。 model_metric_list String 训练作业的模型评测参数。具体请参见表7。 system_metric_list String 训练作业的系统监控指标。具体请参见表8。 user_image_url String 自定义镜像训练作业的自定义镜像的SWR-URL。 user_command String 自定义镜像训练作业的自定义镜像的容器的启动命令。 resource_id String 训练作业的计费资源ID。 dataset_name String 训练作业的数据集名称。 start_time Long 训练作业开始时间。 volumes JSON Array 训练作业可使用的存储卷。具体请参见表13。 dataset_version_name String 训练作业的数据集名称。 pool_name String 资源池名称。 pool_id String 资源池ID。 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”。 表5 parameter属性列表 参数 参数类型 说明 label String 参数名称。 value String 参数值。 表6 data_source属性列表 参数 参数类型 说明 dataset_id String 训练作业的数据集ID。 dataset_version String 训练作业的数据集版本ID。 type String 数据集类型。 “obs”:表示使用OBS的数据。 “dataset”:表示使用数据集的数据。 data_url String OBS的桶路径。 表7 model_metric_list属性列表 参数 参数类型 说明 metric JSON Array 训练作业的模型单个分类测评参数。 total_metric JSON 训练作业的模型总测评参数。具体请参见表11。 表8 system_metric_list属性列表 参数 参数类型 说明 cpuUsage Array 训练作业CPU资源占用率。 memUsage Array 训练作业内存资源占用率。 gpuUtil Array 训练作业GPU资源占用率。 表9 metric属性列表 参数 参数类型 说明 metric_values JSON 训练作业模型单个分类测评参数指标。具体请参见表10。 reserved_data JSON 预留字段。 metric_meta JSON 训练作业模型单个分类,包含类ID和类名。 表10 metric_values属性列表 参数 参数类型 说明 recall Float 训练作业模型单个分类召回率。 precision Float 训练作业模型单个分类精确率。 accuracy Float 训练作业模型单个分类准确率。 表11 total_metric属性列表 参数 参数类型 说明 total_metric_meta JSON Array 预留字段。 total_reserved_data JSON Array 预留字段。 total_metric_values JSON Array 训练作业模型总测评参数指标。具体请参见表12。 表12 total_metric_values属性列表 参数 参数类型 说明 f1_score Float 训练作业模型总召回。仅限部分预置算法使用,会自动生成,仅供参考。 recall Float 训练作业模型总召回率。 precision Float 训练作业模型总精确率。 accuracy Float 训练作业模型总准确率。 表13 volumes属性列表 参数 参数类型 说明 nfs object 共享文件系统类型的存储卷。仅支持运行于已联通共享文件系统网络的资源池的训练作业。具体请参见表14。 host_path object 主机文件系统类型的存储卷。仅支持运行于专属资源池中的训练作业。具体请参见表15。 表14 nfs属性列表 参数 参数类型 说明 id String SFS Turbo 文件系统 ID。 src_path String SFS Turbo 文件系统地址。 dest_path String 训练作业的本地路径。 read_only Boolean dest_path 是否为只读权限,默认为读写权限。 true:只读权限 false:默认值,读写权限 表15 host_path属性列表 参数 参数类型 说明 src_path String 宿主机的本地路径。 dest_path String 训练作业的本地路径。 read_only Boolean dest_path 是否为只读权限,默认为读写权限。 true:只读权限 false:默认值,读写权限
  • URI GET /v1/{project_id}/training-jobs/{job_id}/versions 参数说明如表1所示。 表1 路径参数 参数 是否必选 参数类型 说明 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 job_id 是 Long 训练作业的ID。 表2 Query参数 参数 是否必选 参数类型 说明 per_page 否 Integer 指定每一页展示作业参数的总量,默认为10,“per_page”可选的范围为[1,1000]。 page 否 Integer 指定要查询页的索引。 如果需要分页,请设置“page”参数值为“1”。 默认“page”参数值为“0”,不支持分页。
  • 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"}
  • 响应示例 成功响应示例 { "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 训练作业使用的引擎版本。
  • 概述 创建开发环境实例的流程如下: 调用认证鉴权接口获取用户Token,在后续的请求中需要将Token放到请求消息头中作为认证。 调用查询支持的镜像列表接口查看开发环境的镜像类型和版本。 调用创建Notebook实例接口创建一个Notebook实例。 调用查询Notebook实例详情接口根据Notebook实例的ID查询实例的创建详情。 调用Notebook时长续约接口重置Notebook实例的使用时长。 调用停止Notebook实例接口停止正在运行的实例。 调用启动Notebook实例接口重新启动实例。 当Notebook实例不再需要时,调用删除Notebook实例接口删除实例。
  • 响应示例 成功响应示例 { "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 可视化作业的运行状态,详细作业状态列表请参见作业状态参考。
  • 响应消息 响应参数如表6所示。 表6 响应参数 参数 参数类型 说明 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。 version_name String 训练作业的版本名称。
  • 响应示例 成功响应示例 { "is_success": true, "job_id": 10, "job_name": "TestModelArtsJob", "status": 1, "create_time": 1524189990635, "version_id": 10, "version_name":"V0001"} 失败响应示例 { "is_success": false, "error_message": "Error string", "error_code": "ModelArts.0105"}
  • 请求示例 如下以创建“job_id”为10,“pre_version_id”为20的一个新版本作业为例。 POST https://endpoint/v1/{project_id}/training-jobs/10/versions/{ "job_desc": "This is a ModelArts job", "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/", "pre_version_id": 20, "model_id": 1, "pool_id": "test-pool" }}
  • URI POST /v1/{project_id}/training-jobs/{job_id}/versions/{version_id}/stop 参数说明如表1所示。 表1 参数说明 参数 是否必选 参数类型 说明 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 job_id 是 Long 训练作业的ID。 version_id 是 Long 训练作业的版本ID。
  • 基本概念 账号 用户注册时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建IAM用户并使用他们进行日常管理工作。 IAM用户 由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和IAM用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域 指云资源所在的物理位置,同一区域内可用区间内网互通,不同区域间内网不互通。通过在不同地区创建云资源,可以将应用程序设计的更接近特定客户的要求,或满足不同地区的法律或其他要求。 可用区 一个可用区(AZ)是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 同样在我的凭证下,您可以查看项目ID。 图1 项目隔离模型 企业项目 企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。
  • 响应示例 状态码:200 OK。 { "kind" : "PoolList", "apiVersion" : "v2", "items" : [ { "kind" : "Pool", "apiVersion" : "v2", "metadata" : { "name" : "auto-pool-os-86c13962597848eeb29c5861153a391f", "creationTimestamp" : "2022-09-16T03:10:40Z", "labels" : { "os.modelarts/name" : "auto-pool-os", "os.modelarts/workspace.id" : "0", "os.modelarts/resource.id" : "maos-auto-pool-os-72w8d" }, "annotations" : { "os.modelarts/description" : "", "os.modelarts/billing.mode" : "0" } }, "spec" : { "type" : "Dedicate", "scope" : [ "Train", "Infer" ], "resources" : [ { "flavor" : "modelarts.vm.cpu.4ud", "count" : 2 } ], "network" : { "name" : "network-maos-86c13962597848eeb29c5861153a391f" } }, "status" : { "phase" : "Running", "root" : "auto-pool-os-86c13962597848eeb29c5861153a391f", "scope" : [ { "scopeType" : "Train", "state" : "Enabled" }, { "scopeType" : "Infer", "state" : "Enabled" } ], "resources" : { "available" : [ { "flavor" : "modelarts.vm.cpu.4ud", "count" : 2, "azs" : [ { "az" : "cn-north-7c", "count" : 2 } ] } ] } } } ]}
  • URI GET /v2/{project_id}/pools 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 表2 Query参数 参数 是否必选 参数类型 描述 workspaceId 否 String 工作空间ID。获取方法请参见查询工作空间列表。未创建工作空间时默认值为“0”,存在创建并使用的工作空间,以实际取值为准。 labelSelector 否 String 标签筛选。 status 否 String 资源池状态。状态为空时,返回当前有效的资源池,包括创建中和创建成功的资源池。可选值如下: created: 创建成功的资源池。 failed:创建失败的资源池,创建失败的资源池记录保留3天。 creating:创建中的资源池。
  • 响应参数 状态码:200 表3 响应Body参数 参数 参数类型 描述 apiVersion String API版本。可选值如下: v2 kind String 资源类型。可选值如下: PoolList:资源池列表 items Array of PoolModel objects 资源池列表。 表4 PoolModel 参数 参数类型 描述 apiVersion String API版本。可选值如下: v2 kind String 资源类型。可选值如下: Pool:资源池 metadata PoolMetadata object 资源池的metadata信息。 spec PoolSpecModel object 资源池的期望信息。 status PoolStatus object 资源池的状态信息。 表5 PoolMetadata 参数 参数类型 描述 name String 系统自动生成的pool名称,相当于pool ID。 creationTimestamp String 时间戳,例如"2021-11-01T03:49:41Z"。 labels PoolMetaLabels object 资源池的标签信息。 annotations PoolMetaAnnotations object 资源池的注释信息。 表6 PoolMetaLabels 参数 参数类型 描述 os.modelarts/workspace.id String 工作空间ID。获取方法请参见查询工作空间列表。未创建工作空间时默认值为“0”,存在创建并使用的工作空间,以实际取值为准。 os.modelarts/name String 用户指定的pool名称。 os.modelarts/resource.id String 资源池的主资源id,通常提供给cbc使用。 os.modelarts/tenant.domain.id String 资源池的租户id,记录资源池创建在哪个租户账号下。 表7 PoolMetaAnnotations 参数 参数类型 描述 os.modelarts/description String 资源池的描述信息。 os.modelarts/billing.mode String 计费模式。可选值如下: 0:按需计费 1:包周期计费 os.modelarts/period.num String 包周期订购周期,比如2。 os.modelarts/period.type String 包周期订购类型。可选值如下: 2:月 3:年 4:小时 os.modelarts/auto.renew String 是否自动续费.可选值如下: 0:不自动续费,默认值 1:自动续费 os.modelarts/promotion.info String 用户在cbc选择的折扣信息。 os.modelarts/service.console.url String 订购订单支付完成后跳转的url地址。 os.modelarts/order.id String 订单id,包周期资源池创建或者计费模式变更的时候该参数必需。 os.modelarts/flavor.resource.ids String 每种规格对应的resourceId,主要和cbc交互使用。 os.modelarts/tms.tags String 创建的时候由用户指定的TMS标签。 表8 PoolSpecModel 参数 参数类型 描述 type String 资源池类型。可选值如下: Dedicate:物理资源池,独立的网络,支持网络打通,定制驱动,定制作业类型。 scope Array of strings 资源池支持的作业类型。至少选择一种,物理资源池支持全部选择。可选值如下: Train:训练作业 Infer:推理作业 Notebook:Notebook作业 resources Array of resources objects 资源池中的资源规格信列表,包括资源规格和相应规格的资源数量。 network network object 资源池网络参数。物理资源池时必选。 jobFlavors Array of strings 资源池支持的作业规格信息列表,内容为作业规格名称。 driver PoolDriver object 资源池的驱动信息。 controlMode Integer 资源池的受限状态。可选值如下: 0:代表不受限 1:转包周期受限 2:规格变更受限 4:服务受限 8:冻结 16:公安冻结(不可退订) 另外状态是可以叠加的,比如9代表转包周期受限+冻结状态。 表9 resources 参数 参数类型 描述 flavor String 资源规格,比如:modelarts.vm.gpu.tnt004。 count Integer 相应规格资源数量。 azs Array of PoolNodeAz objects az列表信息。 表10 PoolNodeAz 参数 参数类型 描述 az String 可用区名称。 count Integer 指定可用区扩容时,指定可用区的节点数。 表11 network 参数 参数类型 描述 name String 网络名称;用户接口通过指定网络名称创建网络,系统会自动创建子网,用户无法创建子网。默认将创建在第一个子网下。 表12 PoolDriver 参数 参数类型 描述 gpuVersion String GPU驱动版本,物理资源池中含有GPU规格时可填,例如:"440.33"。 npuVersion String NPU驱动版本,物理资源池中含有ascend规格时可填,例如:"C78"。 updateStrategy String 驱动升级策略。可选值如下: force:强制升级,立即升级节点驱动,可能影响节点上正在运行的作业 idle:安全升级,待节点上没有作业运行时进行驱动升级 表13 PoolStatus 参数 参数类型 描述 phase String 资源池集群状态。可选值如下: Creating:创建中 Running:运行中 Abnormal:资源池不正常 Deleting:删除中 Error:资源池错误 message String 资源池处于当前状态的提示信息。 resources resources object 资源池中不同状态的资源量。 scope Array of scope objects 资源池业务状态信息。 driver driver object 资源池驱动信息。 parent String 资源池父节点名称,物理池为空。 root String 资源池根节点名称,物理池为自己的名称。 表14 resources 参数 参数类型 描述 creating PoolResourceFlavorCount object 状态为创建中状态的资源量。 available PoolResourceFlavorCount object 状态为可用状态的资源量。 abnormal PoolResourceFlavorCount object 状态为非正常状态的资源量。 deleting PoolResourceFlavorCount object 状态为删除中状态的资源量。 表15 PoolResourceFlavorCount 参数 参数类型 描述 flavor String 资源规格名称,比如:modelarts.vm.gpu.tnt004。 count Integer 规格保障使用量。 maxCount Integer 资源规格的弹性使用量,物理池该值和count相同。 azs Array of azs objects 资源所在的AZ的数量。 nodePool String 节点池名称。比如:nodePool-1。 表16 azs 参数 参数类型 描述 az String AZ的名称。 count Integer AZ的资源数量。 表17 scope 参数 参数类型 描述 scopeType String 业务类型。可选值如下: Train:训练任务 Infer:推理任务 Notebook:Notebook作业 state String 业务状态。可选值如下: Enabling:启动中 Enabled:已启动 Disabling:关闭中 Disabled:已关闭 表18 driver 参数 参数类型 描述 gpu PoolDriverStatus object GPU驱动信息。 npu PoolDriverStatus object NPU驱动信息。 表19 PoolDriverStatus 参数 参数类型 描述 version String 当前驱动版本。 state String 当前驱动状态。可选值如下: Creating:创建中 Upgrading:升级中 Running:运行中 Abnormal:不正常
  • URI GET /v1/{project_id}/notebooks/{instance_id}/storage/{storage_id} 表1 路径参数 参数 是否必选 参数类型 描述 instance_id 是 String Notebook实例ID,可通过调用查询Notebook实例列表接口获取。 project_id 是 String 用户项目ID,获取方法请参见获取项目ID和名称。 storage_id 是 String OBS存储ID。
共99354条