华为云用户手册

  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 networkCidrs Array of strings 网络配置项。 networkQuota Integer 用户可创建网络个数配额。 poolQuota Integer 用户可创建资源池个数配额。 pooHighAvailable Boolean 当前环境/局点是否支持创建高可用资源池。 状态码: 404 表3 响应Body参数 参数 参数类型 描述 error_code String ModelArts错误码 error_msg String 具体错误信息
  • 请求示例 创建团队标注任务。设置任务名称为“task-eb17”,同步更新新增数据为“false”,团队标注任务是否同步智能标注结果为“false”。 { "task_name" : "task-eb17", "synchronize_data" : false, "synchronize_auto_labeling_data" : false, "workforces_config" : { "workforces" : [ { "workforce_id" : "feSUo5NUIUnQAQNNTiS", "workers" : [ { "email" : "xxx@xxx.com" }, { "email" : "xxx@xxx.com" }, { "email" : "xxx@xxx.com" } ] } ] }, "auto_sync_dataset" : false }
  • 响应示例 状态码: 200 OK { "version_id" : "eSOKEQaXhKzxN00WKoV", "version_name" : "V002", "version_format" : "Default", "previous_version_id" : "vlGvUqOcxxGPIB0ugeE", "status" : 1, "create_time" : 1605691027084, "total_sample_count" : 10, "annotated_sample_count" : 10, "total_sub_sample_count" : 0, "annotated_sub_sample_count" : 0, "manifest_path" : "/test-obs/classify/output/dataset-f9e8-gfghHSokody6AJigS5A/annotation/V002/V002.manifest", "data_path" : "/test-obs/classify/output/dataset-f9e8-gfghHSokody6AJigS5A/annotation/V002/data/", "is_current" : true, "analysis_status" : 3, "train_evaluate_sample_ratio" : "0.9999", "remove_sample_usage" : false, "export_images" : false, "description" : "", "label_stats" : [ { "name" : "Rabbits", "type" : 0, "property" : { "@modelarts:color" : "#3399ff" }, "count" : 5, "sample_count" : 5 }, { "name" : "Bees", "type" : 0, "property" : { "@modelarts:color" : "#3399ff" }, "count" : 5, "sample_count" : 5 } ], "label_type" : "single", "task_type" : 0, "extract_serial_number" : false }
  • 响应示例 状态码: 200 OK { "task_id" : "AcYfsdfhGyrWL5TtahH", "name" : "V002", "data_source" : { "type" : "DATASET", "source" : "X6c3N3eztX7cr3Arvqu" }, "inputs" : [ { "type" : "DATASET", "source" : "X6c3N3eztX7cr3Arvqu" } ], "template" : { "id" : "sys_data_analyse", "name" : "data analyse template name", "operator_params" : [ { "id" : "sys_data_analyse", "params" : { "op_list" : [ ], "task_type" : "image_classification", "manifest_path" : "s3://lch-test-obs/classify/output/dataset-3026-X6c3N3eztX7cr3Arvqu/annotation/V002/V002.manifest", "file_path" : "s3://lch-test-obs/classify/output/dataset-3026-X6c3N3eztX7cr3Arvqu/annotation/evaluation/V002", "is_normed" : false } } ] }, "status" : 2, "duration_seconds" : 22, "create_time" : 1606373999627, "result" : "xxx", "version_id" : "XwTuRqI9En7xuZskW70", "is_current" : true }
  • 响应示例 成功响应示例 { "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": "P100", "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": "p100", "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”,不支持分页。
  • 功能介绍 查询处理任务列表,包括“特征分析”任务和“数据处理”两大类任务。可通过指定“task_type”参数来单独查询某类任务的列表。 “特征分析”是指基于图片或目标框对图片的各项特征,如模糊度、亮度进行分析,并绘制可视化曲线,帮助处理数据集。 “数据处理”是指从大量的、杂乱无章的、难以理解的数据中抽取或者生成对某些特定的人们来说是有价值、有意义的数据。“数据处理”又分为“数据校验”、“数据清洗”、“数据选择”和“数据增强”四类。 “数据校验”表示对数据集进行校验,保证数据合法。 “数据清洗”表示对数据进行去噪、纠错或补全的过程。 “数据选择”表示从全量数据中选择数据子集的过程。 “数据增强”表示通过简单的数据扩增例如缩放、裁剪、变换、合成等操作直接或间接的方式增加数据量。
  • 请求示例 查询某个数据集的特征分析任务历史列表 GET https://{endpoint}/v2/{project_id}/processor-tasks?offset=0&limit=10&sort_by=create_time&order=desc&source_type=DATASET&source=X6c3N3eztX7cr3Arvqu&task_type=sys_data_analyse&return_result=false&query_current=false 查询某个数据集指定版本列表的最新特征分析任务结果 GET https://{endpoint}/v2/{project_id}/processor-tasks?offset=0&limit=100&source_type=DATASET&source=X6c3N3eztX7cr3Arvqu&version_id=XwTuRqI9En7xuZskW70%2CJ4Eh2FDEWH1qnDlD3hQ&task_type=sys_data_analyse&return_result=true&query_current=true
  • URI GET /v2/{project_id}/processor-tasks 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 指定每一页返回的最大条目数,取值范围[1,100],默认为10。 offset 否 Integer 分页列表的起始页,默认为0。 order 否 String 指定查询的排序顺序。可选值如下: asc:递增排序 desc:递减排序(默认值) query_current 否 Boolean 是否只查询数据集版本最新的任务。可选值如下: true:只查询数据集版本最新的任务 false:查询数据集版本的所有任务(默认值) return_result 否 Boolean 是否返回任务结果。可选值如下: true:返回任务结果(默认值) false:不返回任务结果 sort_by 否 String 指定查询的排序方式。可选值如下: create_time:按创建时间排序(默认值) name:按任务名称排序 duration_seconds:按运行时间排序 source 否 String 指定查询的数据源所在路径。可选值如下: 如果type是OBS,source为OBS路径; 如果type是TASK,source为任务ID; 如果type是DATASET,source为dataset_id; 如果type是CUSTOM且是资源租户调用,source为真实用户的project_id, 否则不需要这个字段 source_type 否 String 指定查询的数据源类型,不传默认是查询所有的数据源。可选值如下: OBS:数据来源于OBS TASK:数据处理任务 DATASET:数据集 CUSTOM:资源租户调用 status 否 Integer 指定查询的任务状态,不传则默认是查询所有状态的任务。可选值如下: 0:初始化 1:运行中 2:已完成 3:失败 4:停止 task_name 否 String 模糊匹配名称。 task_type 否 String 任务类型,即数据处理模板ID。可选值如下: sys_data_analyse:特征分析 sys_data_cleaning:数据清洗 sys_data_augmentation:数据增强 sys_data_validation:数据校验 sys_data_selection:数据筛选 version_id 否 Array 指定查询数据集的版本ID列表。 workspace_id 否 String 工作空间ID。未创建工作空间时默认值为“0”,存在创建并使用的工作空间,以实际取值为准。
  • 响应示例 状态码: 200 OK { "count" : 1, "tasks" : [ { "task_id" : "ddwRJeTnjpiq4dNUZOq", "name" : "V001", "data_source" : { "type" : "DATASET", "source" : "X6c3N3eztX7cr3Arvqu" }, "inputs" : [ { "type" : "DATASET", "source" : "X6c3N3eztX7cr3Arvqu" } ], "template" : { "id" : "sys_data_analyse", "name" : "data analyse template name", "operator_params" : [ { "id" : "sys_data_analyse", "params" : { "op_list" : [ ], "task_type" : "image_classification", "manifest_path" : "s3://test-obs/classify/output/dataset-3026-X6c3N3eztX7cr3Arvqu/annotation/V001/V001.manifest", "file_path" : "s3://test-obs/classify/output/dataset-3026-X6c3N3eztX7cr3Arvqu/annotation/evaluation/V001", "is_normed" : false } } ] }, "status" : 2, "duration_seconds" : 11, "create_time" : 1606372570023, "version_id" : "J4Eh2FDEWH1qnDlD3hQ", "version_name" : "V001", "is_current" : true } ] }
  • 响应示例 状态码: 200 OK { "sample_count" : 1, "samples" : [ { "sample_id" : "10de574cbf0f09d4798b87ba0eb34e37", "sample_type" : 0, "labels" : [ { "name" : "sunflowers", "type" : 0, "id" : "1", "property" : { "@modelarts:hard_coefficient" : "0.0", "@modelarts:hard" : "false" }, "score" : 1.0 } ], "source" : "https://test-obs.obs.xxx.com:443/animals/8_1597649054631.jpeg?AccessKeyId=alRn0xskf5luJaG2jBJe&Expires=1606299230&x-image-process=image%2Fresize%2Cm_lfit%2Ch_200&Signature=MNAAjXz%2Fmwn%2BSabSK9wkaG6b6bU%3D", "metadata" : { "@modelarts:hard_coefficient" : 1.0, "@modelarts:hard" : true, "@modelarts:import_origin" : 0, "@modelarts:hard_reasons" : [ 8, 6, 5, 3 ] }, "sample_time" : 1601432758000, "sample_status" : "UN_ANNOTATION" } ] }
  • URI GET /v2/{project_id}/datasets/{dataset_id}/auto-annotations/samples 表1 路径参数 参数 是否必选 参数类型 描述 dataset_id 是 String 数据集ID。 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 表2 Query参数 参数 是否必选 参数类型 描述 high_score 否 String 置信度上界,默认为1。 label_name 否 String 标签名。 label_type 否 Integer 标注类型。可选值如下: 0:图像分类 1:物体检测 3: 图像分割 100:文本分类 101:命名实体 102:文本三元组 200:声音分类 201:语音内容 202:语音分割 400:表格数据集 600:视频标注 900:自由格式 limit 否 Integer 指定每一页返回的最大条目数,取值范围[1,100],默认为10。 low_score 否 String 置信度下界,默认为0。 offset 否 Integer 分页列表的起始页,默认为0。 order 否 String 指定查询的排序顺序。可选值如下: asc:递增排序 desc:递减排序(默认值) process_parameter 否 String 图像缩略设置,同OBS缩略图设置,详见OBS缩略图设置。如:image/resize,m_lfit,h_200表示等比缩放目标缩略图并设置高度为200像素。 search_conditions 否 String URL编码后的多维筛选条件(多个SearchCondition之间为and的关系)。
  • 响应参数 状态码: 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 总样本数量。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 current Integer 当前页数。 data Array of ImageResponse objects 数据。 pages Integer 总的页数。 size Integer 每一页的数量。 total Long 总的记录数量。 表4 ImageResponse 参数 参数类型 描述 arch String 该镜像所支持处理器架构类型。枚举值: X86_64:x86处理器架构。 AARCH64:ARM体系架构。 create_at Long 镜像创建的时间,UTC毫秒。 description String 该镜像所对应的描述信息,长度限制512个字符。 dev_services Array of strings 镜像支持的服务。 枚举值如下: NOTEBOOK:镜像支持通过https协议访问Notebook。 SSH:镜像支持本地IDE通过SSH协议远程连接Notebook。 id String 待创建开发环境实例的镜像,需要指定镜像ID,ID格式为通用唯一识别码(Universally Unique Identifier,简称UUID)。预置镜像的ID参考查询支持的镜像列表获取。 name String 镜像名称,长度限制512个字符,支持小写字母、数字、中划线、下划线和点。 namespace String 镜像所属组织,可以在SWR控制台“组织管理”创建和查看。 origin String 指定镜像来源,可选项,默认自定义构建镜像为CUSTOMIZE。 枚举值: CUSTOMIZE: 用户自定义构建镜像。 IMAGE_SAVE:开发环境实例保存镜像。 resource_categories Array of strings 镜像支持的规格。 枚举值如下: CPU GPU ASCEND service_type String 镜像支持服务类型。枚举值如下: COMMON:通用镜像。 INFERENCE: 建议仅在推理部署场景使用。 TRAIN: 建议仅在训练任务场景使用。 DEV: 建议仅在开发调测场景使用。 UNKNOWN: 未明确设置的镜像支持的服务类型。 size Long 镜像大小(单位KB)。 status String 镜像状态。枚举值如下: INIT:初始化。 CREATING:镜像保存中,此时Notebook不可用。 CREATE_FAILED:镜像保存失败。 ERROR:错误。 DELETED:已删除。 ACTIVE:镜像保存成功,保存的镜像可以在SWR控制台查看,同时可以基于保存的镜像创建Notebook实例。 status_message String 镜像保存操作过程中,构建信息展示。 swr_path String SWR镜像地址。 tag String 镜像Tag。 type String 镜像类型。枚举值如下: BUILD_IN:系统内置镜像。 DEDICATED:用户保存的镜像。 update_at Long 镜像最后更新的时间,UTC毫秒。 visibility String 镜像可见度。枚举值: PRIVATE:私有镜像。 PUBLIC: 所有用户可以根据ImageId来进行只读使用。 workspace_id String 工作空间ID。未创建工作空间时默认值为“0”,存在创建并使用的工作空间,以实际取值为准。
  • 响应示例 状态码: 200 OK { "current" : 4, "data" : [ { "arch" : "x86_64", "create_at" : 1638841805439, "description" : "AI inference application development, preconfigured ModelBox and AI engine LibTorch, only SSH connection supported.", "dev_services" : [ "AI_FLOW", "SSH" ], "id" : "e1a07296-22a8-4f05-8bc8-e936c8e54103", "name" : "modelbox1.3.0-libtorch1.9.1-cuda10.2-cudnn8-euler2.9.6", "resource_categories" : [ "GPU" ], "service_type" : "TRAIN", "status" : "ACTIVE", "swr_path" : "swr.xxx.com/atelier/modelarts-modelbox-libtorch-gpu-x86:1.3.0-20221027202714-160a680", "tag" : "1.3.0-20221027202714-160a680", "type" : "BUILD_IN", "update_at" : 1638234504492, "workspace_id" : "0" }, { "arch" : "x86_64", "create_at" : 1638841805439, "description" : "CPU and GPU general algorithm development and training, preconfigured with AI engine PyTorch1.8", "dev_services" : [ "NOTEBOOK", "SSH" ], "id" : "278e88d1-5b71-4766-8502-b3ba72e824d9", "name" : "pytorch1.8-cuda10.2-cudnn7-ubuntu18.04", "resource_categories" : [ "GPU", "CPU" ], "service_type" : "COMMON", "status" : "ACTIVE", "swr_path" : "swr.xxx.com/atelier/pytorch_1_8:pytorch_1.8.0-cuda_10.2-py_3.7-ubuntu_18.04-x86_64-20220926104358-041ba2e", "tag" : "pytorch_1.8.0-cuda_10.2-py_3.7-ubuntu_18.04-x86_64-20220926104358-041ba2e", "type" : "BUILD_IN", "update_at" : 1638234504492, "workspace_id" : "0" } ], "pages" : 54, "size" : 2, "total" : 107 }
  • URI GET /v1/{project_id}/images 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户项目ID,获取方法请参见获取项目ID和名称。 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 每一页的数量,默认值200。 name 否 String 镜像名称,长度限制512个字符,支持小写字母、数字、中划线、下划线和点。 name_fuzzy_match 否 Boolean 镜像名称是否模糊匹配,默认为true namespace 否 String 镜像所属组织,可以在SWR控制台“组织管理”创建和查看。 offset 否 Integer 分页记录的起始位置偏移量,默认值0。 service_type 否 String 镜像支持服务类型。枚举值如下: COMMON:通用镜像。 INFERENCE: 建议仅在推理部署场景使用。 TRAIN: 建议仅在训练任务场景使用。 DEV: 建议仅在开发调测场景使用。 UNKNOWN: 未明确设置的镜像支持的服务类型。 sort_dir 否 String 排序方式,ASC升序,DESC降序,默认DESC。 sort_key 否 String 排序的字段,多个字段使用(“,”)逗号分割。 type 否 String 镜像类型。枚举值如下: BUILD_IN:系统内置镜像。 DEDICATED:用户保存的镜像。 workspace_id 否 String 工作空间ID。未创建工作空间时默认值为“0”,存在创建并使用的工作空间,以实际取值为准。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 表2 HTTP方法 方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 HEAD 请求服务器资源头部。 PATCH 请求服务器更新资源的部分内容。 当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 需要添加到请求中的公共消息头如表3所示。 表3 公共请求消息头 参数名 说明 是否必选 示例 Content-type 消息体的类型(格式),默认取值为“application/json”。 是 application/json Content-Length 请求body长度,单位为Byte。 POST/PUT请求必填,GET不能包含。 3495 X-Project-Id project id,用于不同project取token。 否 e9993fc787d94b6c886cbaa340f9c0f4 X-Auth-Token 用户Token,也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 否,使用Token认证时必选。 - X-Sdk-Date 请求的发生时间,格式为(YYYYMMDD'T'HHMMSS'Z')。 取值为当前系统的GMT时间。 否,如果使用AK/SK做接口认证的时候,那么此字段必须设置;如果使用PKI token的时候,不必设置。 20190307T101459Z Authorization 签名认证信息。 该值来源于请求签名结果,使用AK/SK进行加密签名的时候需要。 类型:字符串 默认值:无 否,使用AK/SK认证时必选。 SDK-HMAC-SHA256 Credential=ZIRRKMTWPTQFQI1WKNKB/20150907//ec2/sdk_request, SignedHeaders=content-type;host;x-sdk-date, Signature=55741b610f3c9fa3ae40b5a8021ebf7ebc2a28a603fc62d25cb3bfe6608e1994 Host 请求的服务器信息,从服务API的URL中获取。 值为hostname[:port]。 端口缺省时使用默认的端口,https的默认端口为443。 否,使用AK/SK认证时必选。 code.test.com or code.test.com:443 API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。AK/SK认证的详细说明请参见API签名指南。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中user_name为用户名,domain_name为用户所属的帐号名,user_password为用户登录密码,cn-north-1为项目名称,获取方法请参见获取用户名、获取帐号名和帐号ID和获取项目名称。 scope参数定义了Token的作用域,示例中获取的Token仅能访问project下的资源。Modelarts使用区域的Endpoint(非全局域名)调用该接口,推荐您将scope设置为project。您还可以设置Token作用域为某个帐号下所有资源或帐号的某个project下的资源,详细定义请参见获取用户Token。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type:application/json { "auth": { "identity": { "methods": ["password"], "password": { "user": { "name": "user_name", "password": "user_password", "domain": { "name": "domain_name" } } } }, "scope": { "project": { "name": "cn-north-1" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x-subject-token”的值,就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求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在同一个区域也相同,所以简洁起见将这两部分省略。
  • URI GET /v2/{project_id}/algorithms 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 查询算法的偏移量,最小为0。例如设置为1,则表示从第二条开始查。 limit 否 Integer 查询算法的限制量。最小为1,最大为50。 sort_by 否 String 查询算法排列顺序的指标。默认使用create_time排序。 order 否 String 查询算法排列顺序,默认为“desc”,降序排序。也可以选择对应的“asc”,升序排序。 group_by 否 String 查询算法要搜索的分组条件。 searches 否 String 查询算法所要过滤的条件,如算法名称模糊匹配。 workspace_id 否 String 工作空间ID
  • 响应示例 状态码: 200 ok { "total" : 1, "count" : 1, "limit" : 1, "offset" : 0, "sort_by" : "create_time", "order" : "desc", "group_by" : "", "items" : [ { "metadata" : { "id" : "2e5451fe-913f-4492-821a-2981031382f7", "name" : "TestModelArtsalgorithm", "description" : "This is a ModelArts algorithm", "create_time" : 1636600721742, "workspace_id" : "0", "ai_project" : "default-ai-project", "user_name" : "", "domain_id" : "xxxxxxxxxxxxxxxxxxxxxxxxxx", "source" : "custom", "api_version" : "", "is_valid" : true, "state" : "", "size" : 4791, "tags" : null, "attr_list" : null, "version_num" : 0, "update_time" : 0 }, "job_config" : { "code_dir" : "/algo-test/pytorch/work1/code/", "boot_file" : "/algo-test/pytorch/work1/code/test-pytorch.py", "command" : "", "parameters" : [ { "name" : "test-parameter", "description" : "", "i18n_description" : null, "value" : "10", "constraint" : { "type" : "String", "editable" : true, "required" : false, "sensitive" : false, "valid_type" : "None", "valid_range" : [ ] } } ], "parameters_customization" : true, "inputs" : [ { "name" : "data_url", "description" : "name to translate" } ], "outputs" : [ { "name" : "train_url", "description" : "name to translate" } ], "engine" : { "engine_id" : "pytorch-cp36-1.3.0", "engine_name" : "PyTorch", "engine_version" : "PyTorch-1.3.0-python3.6" }, "code_tree" : { "name" : "code/", "children" : [ { "name" : "test-pytorch.py" } ] } }, "resource_requirements" : null, "advanced_config" : { } } ] }
  • 功能介绍 创建处理任务,支持创建“特征分析”任务和“数据处理”两大类任务。可通过指定请求体中的复合参数“template”的“id”字段来创建某类任务。 “特征分析”是指基于图片或目标框对图片的各项特征,如模糊度、亮度进行分析,并绘制可视化曲线,帮助处理数据集。 “数据处理”是指从大量的、杂乱无章的、难以理解的数据中抽取或者生成对某些特定的人们来说是有价值、有意义的数据。“数据处理”又分为“数据校验”、“数据清洗”、“数据选择”和“数据增强”四类。 “数据校验”表示对数据集进行校验,保证数据合法。 “数据清洗”表示对数据进行去噪、纠错或补全的过程。 “数据选择”表示从全量数据中选择数据子集的过程。 “数据增强”表示通过简单的数据扩增例如缩放、裁剪、变换、合成等操作直接或间接的方式增加数据量。
  • 请求示例 创建特征分析任务。设置任务类型为“sys_data_analyse”。 { "name" : "V001", "description" : "", "data_source" : { "type" : "DATASET", "source" : "X6c3N3eztX7cr3Arvqu" }, "template" : { "id" : "sys_data_analyse", "operator_params" : [ { "id" : "sys_data_analyse", "params" : { "op_list" : [ ] } } ] }, "version_id" : "J4Eh2FDEWH1qnDlD3hQ" } 创建数据处理(数据校验)任务。设置任务类型为“sys_data_validation”。 { "name" : "PRE-e77c", "inputs" : [ { "type" : "DATASET", "source" : "PYc9H2HGv5BJNwBGXyK", "version_id" : "yoJ5ssClpNlOrsjjFDa" } ], "work_path" : { "type" : "DATASET", "path" : "PYc9H2HGv5BJNwBGXyK", "version_name" : "V0010" }, "description" : "", "create_version" : true, "template" : { "id" : "sys_data_validation", "operator_params" : [ { "name" : "MetaValidation", "advanced_params_switch" : false, "params" : { "task_type" : "image_classification", "dataset_type" : "manifest", "source_service" : "select", "filter_func" : "data_validation_select", "image_max_width" : "1920", "image_max_height" : "1920", "total_status" : "[0,1,2]" } } ] }, "workspace_id" : "0" } 创建数据处理(数据清洗)任务。设置任务类型为“sys_data_cleaning”。 { "name" : "PRE-330f", "inputs" : [ { "type" : "DATASET", "source" : "gfghHSokody6AJigS5A", "version_id" : "54IXbeJhfttGpL46lbv" } ], "work_path" : { "type" : "DATASET", "path" : "gfghHSokody6AJigS5A", "version_name" : "V004" }, "description" : "", "create_version" : true, "template" : { "id" : "sys_data_cleaning", "operator_params" : [ { "name" : "PCC", "advanced_params_switch" : false, "params" : { "task_type" : "image_classification", "dataset_type" : "manifest", "source_service" : "select", "filter_func" : "data_cleaning_select", "prototype_sample_path" : "obs://test-obs/classify/data/animals/", "criticism_sample_path" : "", "n_clusters" : "auto", "simlarity_threshold" : "0.9", "embedding_distance" : "0.2", "checkpoint_path" : "/home/work/user-job-dir/test-lxm/resnet_v1_50", "total_status" : "[0,2]", "do_validation" : "True" } } ] }, "workspace_id" : "0" } 创建数据处理(数据筛选)任务。设置任务类型为“sys_data_selection”。 { "name" : "PRE-aae5", "inputs" : [ { "type" : "DATASET", "source" : "gLNSdlQ1iAAmPgl0Won", "version_id" : "WAVPSYpKE3FggbgRxiK" } ], "work_path" : { "type" : "DATASET", "path" : "gLNSdlQ1iAAmPgl0Won", "version_name" : "V003" }, "description" : "", "create_version" : true, "template" : { "id" : "sys_data_selection", "operator_params" : [ { "name" : "SimDeduplication", "advanced_params_switch" : false, "params" : { "task_type" : "image_classification", "dataset_type" : "manifest", "source_service" : "select", "filter_func" : "data_deduplication_select", "simlarity_threshold" : "0.9", "total_status" : "[0,2]", "do_validation" : "True" } } ] }, "workspace_id" : "0" } 创建数据处理(数据增强)任务。设置任务类型为“sys_data_augmentation”。 { "name" : "PRE-637c", "inputs" : [ { "type" : "DATASET", "source" : "XGrRZuCV1qmMxnsmD5u", "version_id" : "kjPDTOSi6BQqhtXZlFv" } ], "work_path" : { "type" : "DATASET", "path" : "XGrRZuCV1qmMxnsmD5u", "version_name" : "V002" }, "description" : "", "create_version" : true, "template" : { "id" : "sys_data_augmentation", "operator_params" : [ { "name" : "AddNoise", "advanced_params_switch" : false, "params" : { "task_type" : "image_classification", "dataset_type" : "manifest", "AddNoise" : "1", "noise_type" : "Gauss", "loc" : "0", "scale" : "1", "lam" : "2", "p" : "0.01", "total_status" : "[3]", "filter_func" : "data_augmentation", "do_validation" : "True" } } ] }, "workspace_id" : "0" }
  • 从控制台获取项目ID和名称 从控制台获取项目ID(project_id)和名称(project name)的步骤如下: 注册并登录管理ModelArts控制台。 在页面右上角单击用户名,然后在下拉列表中单击“我的凭证”,进入“我的凭证”页面。 如果您登录的是华为云官网,而非管理控制台。在单击用户名后,选择下拉列表中的“帐号中心”,然后单击“管理我的凭证”进入“我的凭证”页面。 在“API凭证”页面的项目列表中查看项目ID和名称(即“项目”)。 图1 查看项目ID 多项目时,展开“所属区域”,从“项目ID”列获取子项目ID。
  • 调用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" } }
  • 响应参数 状态码: 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:执行失败
  • 请求示例 批量更新团队标注样本的标签 { "samples" : [ { "sample_id" : "0a0939d6d3c48a3d2a2619245943ac21", "worker_id" : "8c15ad080d3eabad14037b4eb00d6a6f", "labels" : [ { "name" : "tulips" } ] }, { "sample_id" : "0e1b5a16a5a577ee53aeb34278a4b3e7", "worker_id" : "8c15ad080d3eabad14037b4eb00d6a6f", "labels" : [ { "name" : "tulips" } ] } ] }
  • URI PUT /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id}/data-annotations/samples 表1 路径参数 参数 是否必选 参数类型 描述 dataset_id 是 String 数据集ID。 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 workforce_task_id 是 String 标注任务ID。
共100000条