华为云用户手册

  • 参数说明 表1 请求参数 参数 是否必选 参数类型 描述 task_name 是 String 标注任务的名称。 task_type 是 Integer 标注任务的类型。可选值如下: 0:图像分类 1:物体检测 3: 图像分割 100:文本分类 101:命名实体 102:文本三元组 200:声音分类 201:语音内容 202:语音分割 400:表格数据集 600:视频标注 900:自由格式 description 否 String 标注任务的描述信息。
  • 示例代码 在保存Pascal VOC的XML文件之前需要先创建包含Pascal VOC信息的对象,包括voc object信息等。保存的时候调用save_xml接口,将session信息传入,即可保存到指定路径。 from modelarts.dataset.format.voc.pascal_voc import PascalVocfrom modelarts.dataset.format.voc.voc_object import VocObjectfrom modelarts.session import Sessionpath = "obs://your-obs-bucket/voc/test2.xml"size_list = [640, 321, 3]file_name = "000000089955.jpg"voc_object_tags = ["trafficlight", "trafficlight"]voc_object_properties = [{"@modelarts:color": "#FFFFF0", "@modelarts:shortcut": "C", "pose": "0", "truncated": "0", "difficult": "0", "@modelarts:shape": "bndbox", "@modelarts:feature": [[347, 186], [382, 249]]}, {"@modelarts:color": "#FFFFE0", "@modelarts:shortcut": "D", "pose": "0", "truncated": "0", "difficult": "0", "@modelarts:shape": "bndbox", "@modelarts:feature": [[544, 50], [591, 149]]}]voc_objects = []for i in range(len(voc_object_tags)): object_tag = voc_object_tags[i] object_properties = voc_object_properties[i] voc_objects.append(VocObject(name=object_tag, properties=object_properties))pascal_voc = PascalVoc(file_name=file_name, width=size_list[0], height=size_list[1], depth=size_list[2], voc_objects=voc_objects)session = Session()pascal_voc.save_xml(path, session=session)
  • 示例代码 指定xml路径,通过调用parse_xml来解析获取xml文件的信息。 from modelarts.dataset.format.voc.pascal_voc import PascalVocfrom modelarts.session import Sessionpath = "obs://your-obs-bucket/voc/test.xml"session = Session()pascal_voc = PascalVoc.parse_xml(path, session=session)print(pascal_voc) # 打印解析结果
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 方式一:根据指定的job_id终止。 from modelarts.session import Sessionfrom modelarts.estimatorV2 import Estimatorsession = Session()info = Estimator.control_job_by_id(session=session, job_id="your job id")print(info) 方式二:根据创建训练作业生成的训练作业对象终止。 job_instance.control_job()
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 方式一:根据指定的job_id查询。 from modelarts.session import Sessionfrom modelarts.estimatorV2 import Estimatorsession = Session()estimator = Estimator(session=session, job_id="618222c4-dc2f-4cfe-bc49-72b075b7552f")job_info = estimator.get_job_info()print(job_info) 方式二:根据创建训练作业生成的训练作业对象查询。 job_info = job_instance.get_job_info()print(job_info)
  • 参数说明 表1 Estimator请求参数说明 参数 是否必选 参数类型 描述 session 是 Object 会话对象,初始化方法请参考Session鉴权。 job_id 是 String 训练作业的id,可通过创建训练作业生成的训练作业对象查询,如"job_instance.job_id",或从查询训练作业列表的响应中获得。 表2 get_job_info返回参数说明 参数 参数类型 描述 kind String 训练作业类型。默认使用job。 枚举值: job:训练作业 hetero_job:异构作业 autosearch_job:自动搜索作业 mrs_job:mrs作业 edge_job:边缘作业 metadata JobMetadata object 训练作业元信息。 status Status object 训练作业状态信息。创建作业无需填写。 algorithm JobAlgorithmResponse object 训练作业算法。目前支持三种形式: id只取算法的id; subscription_id+item_version_id取算法的订阅id和版本id; code_dir+boot_file取训练作业的代码目录和启动文件。 tasks Array of TaskResponse objects 异构训练作业的任务列表。 spec spec object 训练作业规格参数。
  • 示例代码 查询数据集版本列表 from modelarts.session import Sessionfrom modelarts.dataset import Datasetsession = Session()dataset = Dataset(session, dataset_id)version_list = dataset.list_versions()print(version_list) # 打印数据集的版本列表
  • 示例代码 更新数据集名称 from modelarts.session import Sessionfrom modelarts.dataset import Datasetsession = Session()dataset = Dataset(session, dataset_id)dataset.update_dataset(dataset_name = "new-dataset-name")
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 方式一:根据指定的job_id删除。 from modelarts.session import Sessionfrom modelarts.estimatorV2 import Estimatorsession = Session()Estimator.delete_job_by_id(session=session, job_id="your job id") 方式二:根据创建训练作业生成的训练作业对象删除。 job_instance.delete_job()
  • 参数说明 表1 delete_job_by_id请求参数说明 参数 是否必选 参数类型 描述 session 是 Object 会话对象,初始化方法请参考Session鉴权。 job_id 是 String 训练作业的id,可通过创建训练作业生成的训练作业对象查询,如"job_instance.job_id",或从查询训练作业列表的响应中获得。 无成功响应参数。 表2 调用训练接口失败响应参数 参数 类型 描述 error_msg String 调用失败时的错误信息,调用成功时无此字段。 error_code String 调用失败时的错误码,具体请参见错误码,调用成功时无此字段。 error_solution String 调用失败时的提示解决信息,调用成功时无此字段。
  • 示例代码 通过Manifest路径来解析获取Manifest的信息。 from modelarts.session import Session from modelarts.dataset.format.manifest import Manifestpath = "obs://your-obs-bucket/manifest/V001.manifest"session = Session() manifest_info= Manifest.parse_manifest(path,session=session)
  • 示例代码 示例一:为数据集创建新的版本 from modelarts.session import Sessionfrom modelarts.dataset import Datasetsession = Session()dataset = Dataset(session, dataset_id)create_version_resp = dataset.create_version(name="V001", version_format="Default", label_task_type=0, description="version 001")
  • 示例代码 查询数据集指定版本的详细信息 from modelarts.session import Sessionfrom modelarts.dataset import Datasetsession = Session()dataset = Dataset(session, dataset_id)version_info = dataset.get_version_info(version_id="cSPuXPgnYp7ObRs6LaR")print(version_info) # 打印数据集版本的详情
  • 示例代码 在保存Manifest文件之前需要先创建包含Manifest信息的对象,包括Sample样本信息及其标签信息Annotation,然后将若干个样本组成Manifest。保存的时候调用save接口,将session信息传入,即可保存到指定路径。 from modelarts.dataset.format.manifest.annotation import Annotationfrom modelarts.dataset.format.manifest import Manifestfrom modelarts.dataset.format.manifest.sample import Samplefrom modelarts.session import Sessionsize = 0sample_list = []for i in range(19): size = size + 1 source = "s3://obs-path/examples/image-classification/data/image_" + str(i) + ".jpg" usage = "TRAIN" inference_loc = "s3://obs-path/examples/image-classification/data/image_" + str(i) + ".txt" annotations_list = [] for j in range(1): annotation_type = "modelarts/image_classification" if 0 == i % 2: annotation_name = "Bees" else: annotation_name = "Rabbits" annotation_creation_time = "2019-02-20 08:23:06" annotation_format = "manifest" annotation_property = {"color": "black"} annotation_confidence = 0.8 annotated_by = "human" annotations_list.append( Annotation(name=annotation_name, type=annotation_type, confidence=annotation_confidence, creation_time=annotation_creation_time, annotated_by=annotated_by, annotation_format=annotation_format, annotation_property=annotation_property)) sample_list.append( Sample(source=source, usage=usage, annotations=annotations_list, inference_loc=inference_loc))manifest_info = Manifest(samples=sample_list, size=size)path = "obs://your-obs-bucket/manifest/V001.manifest"session = Session()manifest_info.save(path, session=session, save_mode="a")
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 方式一:根据指定的job_id查询。 from modelarts.session import Sessionfrom modelarts.estimatorV2 import Estimatorsession = Session()estimator = Estimator(session=session, job_id="your job id")info = estimator.get_job_metrics()print(info) 方式二:根据创建训练作业生成的训练作业对象查询。 info = job_instance.get_job_metrics(task_id="worker-0")print(info)
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 from modelarts.session import Sessionfrom modelarts.estimatorV2 import Estimatorsession = Session()info = Estimator.get_framework_list(session=session)print(info)
  • 示例代码 示例一:物体检测数据集目录导入 from modelarts.session import Sessionfrom modelarts.dataset import Datasetsession = Session()dataset = Dataset(session, dataset_id)annotation_config = dict()annotation_config['scene'] = "object_detection"annotation_config['format_name'] = "ModelArts PASCAL VOC 1.0"import_resp = dataset.import_data(path="/obs-gaia-test/data/image/image-detection/", annotation_config=annotation_config) 示例二:物体检测数据集Manifest文件导入 annotation_config = dict() # Manifest文件导入任务中,传入annotation_config参数可以导入标注信息import_resp = dataset.import_data( path="/obs-gaia-test/data/output/work_path/dataset-5932-Qdd1RUZ3wqBQrwrTr3v/annotation/V001/V001.manifest",annotation_config=annotation_config) 示例三:表格数据集目录导入 import_resp = dataset.import_data( path="/obs-gaia-test/data/table/table1/", with_column_header=True)
  • 参数说明 表2 请求参数 参数 是否必选 参数类型 描述 path 是 String 导入的OBS路径或Manifest路径。 导入Manifest时,path必须精确到具体Manifest文件。 导入为目录时,目前仅支持数据集类型为图片分类、物体检测、图像分割、文本分类、声音分类和表格数据集。 字符限制:不允许出现的特殊字符有换行符(\n)、回车符(\r)、制表符(\t)。 annotation_config 否 表4 数据标注格式的说明。该字段为None,则不导入标注信息。如果根据Manifest文件导入,可以传入一个内容为空的dict对象实现导入标注信息。目前支持的标注格式类型如下: 图像分类 物体检测 语音分类 文本分类 with_column_header 否 Boolean 表格数据集必选参数,表格的第一行是否为表头。 True:第一行数据作为表头 False:第一行数据不作为表头,仅为样本数据
  • 示例代码 账号与用户的概念介绍,请参见 IAM 基本概念。获取您的账号、用户名等信息,请参见获取用户名、用户ID、项目名称、项目ID。 使用账号认证 “username”填写您的账号名。 12 from modelarts.session import Sessionsession = Session(username='***', password='***', region_name='***', project_id='***') 如果您的华为云账号已经升级为华为账号,则账号认证方式将不可用,请创建一个IAM用户,使用IAM用户认证。 使用IAM用户认证 “account”填写您的账号名,“username”填写您的IAM用户名。 12 from modelarts.session import Sessionsession = Session(account='***', username='***', password='***', region_name='***', project_id='***')
  • 示例代码 在ModelArts Notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参考Session鉴权。 123 from modelarts.session import Sessionsession = Session()session.obs.download_dir(src_obs_dir="obs://bucket-name/dir1/", dst_local_dir="/home/ma-user/work/")
  • 服务管理概述 服务管理,包括将已创建成功的模型部署为在线服务或本地服务。可以实现在线预测、本地预测、服务详情查询、查看服务日志等功能。 这里的在线服务包括“predictor”和“transformer”两类,都包括下文描述的功能,本章节以“predictor”服务为例进行说明。 本章节的示例代码都是在ModelArts Notebook中实现的,如果在其它开发环境使用,需要进行Session鉴权,请参见Session鉴权。 父主题: 服务管理
  • 参数说明 表1 请求参数说明 参数 是否必选 参数类型 描述 session 是 Object 会话对象。 src_obs_dir 是 String 下载的源OBS文件夹,必须以“obs://”作为前缀,文件夹后缀必须以"/"结尾。当下载的文件夹下有文件夹且内容为空时,对应路径下不产生对应空文件夹。 dst_local_dir 是 String 下载的目标本地文件夹,下载的目标本地文件夹后缀必须以“/”结尾。
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 方式一:根据指定的job_id查询。 from modelarts.session import Sessionfrom modelarts.estimatorV2 import Estimatorsession = Session()estimator = Estimator(session=session, job_id="your job id")info = estimator.get_job_log()print(info) 方式二:根据创建训练作业生成的训练作业对象查询。 log = job_instance.get_job_log(task_id="worker-0")print(log)
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 方式1:根据导入模型或模型调试生成的模型对象进行模型对象删除 123456 from modelarts.session import Sessionfrom modelarts.model import Modelsession = Session()model_instance = Model(session, model_id="your_model_id")model_instance.delete_model() 方式2:根据查询模型对象列表返回的模型对象进行模型删除 1234567 from modelarts.session import Sessionfrom modelarts.model import Modelsession = Session()model_object_list = Model.get_model_object_list(session)model_instance = model_object_list[0] model_instance.delete_model()
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 方式1:根据导入模型生成的模型对象进行模型详情查询 1234567 from modelarts.session import Sessionfrom modelarts.model import Modelsession = Session()model_instance = Model(session, model_id="your_model_id")model_info = model_instance.get_model_info()print(model_info) 方式2:根据查询模型对象列表返回的模型对象进行模型详情查询 12345678 from modelarts.session import Sessionfrom modelarts.model import Modelsession = Session()model_object_list = Model.get_model_object_list(session)model_instance = model_object_list[0] model_info = model_instance.get_model_info()print(model_info)
  • 参数说明 表1 get_model_info返回参数说明 参数 参数类型 描述 model_id String 模型ID。 model_name String 模型名称。 model_version String 模型版本。 tenant String 租户。 project String 项目。 owner String 用户。 create_at Long 模型创建时间,距'1970.1.1 0:0:0 UTC'的毫秒数。 source_location String 模型所在的OBS路径。 source_job_id String 来源训练作业的ID。 source_job_version String 来源训练作业的版本。 source_type String 模型来源的类型。 当模型为自动学习部署过来时,取值为“auto”。 当模型是用户通过训练作业或OBS模型文件部署时,此值为空。 model_type String 模型类型,取值为:TensorFlow/MXNet/Spark_MLlib/Scikit_Learn/XGBoost/MindSpore/Image/PyTorch。 model_size Long 模型大小,单位为字节数。 model_status String 模型状态,取值为:publishing/published/failed。 description String 模型描述信息。 execution_code String 执行代码存放的OBS地址,名称固定为“customize_service.py”。 schema_doc String 模型schema文档的下载地址。 image_address String 模型的执行镜像地址,镜像未构建之前(即当前模型从未发布成服务),显示为空。 input_params params结构数组 模型的输入参数集,默认为空 output_params params结构数组 模型的输出参数集,默认为空 dependencies dependency结构数组 运行代码及模型需安装的包。 model_metrics String 模型评测参数,仅当source_job_id和source_job_version有值且对应的训练作业有评测结果时会返回该结果。 apis String 模型所有的apis入参出参信息。 表2 params结构 参数 参数类型 描述 url String api代表的url路径。 param_name String 参数名,不超过64个字符。 param_type String 参数类型,取值为:int/string/float/timestamp/date/file。 min Number 当param_type为int或float时创建模型时,有配置min则返回,默认为空。 max Number 当param_type为int或float时创建模型时,有配置max则返回,默认为空。 param_desc String 参数描述,不超过100个字符,默认为空。 表3 dependency结构 参数 参数类型 描述 installer String 安装器名称。 packages package结构数组 依赖包集合。 表4 package结构 参数 参数类型 描述 package_name String 依赖包名称。 package_version String 依赖包版本。 restraint String 版本过滤条件,取值为: EXACT:等于给定版本 ATLEAST:不小于给定版本 ATMOST:不大于给定版本 表5 metric参数说明 参数 是否必选 参数类型 描述 f1 是 Double 平均数。 recall 是 Double 召回率。 precision 是 Double 精确率。 accuracy 是 Double 准确率。
  • 参数说明 查询模型列表,返回list,list大小等于当前用户所有已经部署的模型个数, list中每个元素都是Model对象,对象属性和查询模型详情相同。查询模型列表返回说明: model_list = [model_instance1, model_instance2, model_instance3 ...],列表中元素model_instance对象即为本章节描述的模型管理,可调用模型接口。 支持按照检索参数查询模型列表,返回满足检索条件的模型list,检索参数如表1所示。 在查询列表时,返回list的同时,会打印模型列表的详细信息,如表2和表3所示。 当前支持最大获取150个模型对象。 表1 查询检索参数说明 参数 是否必选 参数类型 说明 model_name 否 String 模型名称,可支持模糊匹配。 model_version 否 String 模型版本。 model_status 否 String 模型状态,可根据模型的“publishing”、“published”、“failed”三种状态执行查询。 description 否 String 描述信息,可支持模糊匹配。 offset 否 Integer 指定要查询页的索引,默认为“0”。 limit 否 Integer 指定每一页返回的最大条目数,默认为“280”。 sort_by 否 String 指定排序字段,可选“create_at”、“model_version”、“model_size”,默认是可选“create_at”。 order 否 String 排序方式,可选“asc”或“desc”,代表递增排序及递减排序,默认是“desc”。 workspace_id 否 String 工作空间ID,默认为“0”。 表2 get_model_list打印参数说明 参数 参数类型 描述 total_count Integer 不分页的情况下,符合查询条件的总模型数量。 count Integer 模型数量。 models model结构数组 模型元数据信息。
  • 文档导读 本文档指导您如何安装和配置开发环境、如何通过调用ModelArts SDK提供的接口函数进行二次开发。 章节 内容 SDK简介 简要介绍ModelArts SDK的概念。 快速开始 介绍如何使用ModelArts SDK进行二次开发。 (可选)本地服务器安装ModelArts SDK 介绍如何在本地安装ModelArts SDK。 (可选)Session鉴权 Session模块的主要作用是实现与公有云资源的鉴权,并初始化ModelArts SDK Client、OBS Client。 OBS管理概述 ModelArts SDK支持对OBS的SDK接口进行调用,包括创建OBS桶,上传/下载文件和文件夹,删除OBS对象和桶。 ModelArts SDK具体操作管理请参见如下章节: 数据管理 训练管理 模型管理 服务管理 介绍使用ModelArts SDK进行的常用操作。
  • 示例代码 在ModelArts Notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 场景1:查询当前用户所有模型对象 123456 from modelarts.session import Sessionfrom modelarts.model import Modelsession = Session()model_object_list = Model.get_model_object_list(session)print(model_object_list) 场景2:按照检索条件查询当前用户模型对象 123456 from modelarts.session import Sessionfrom modelarts.model import Modelsession = Session()model_object_list = Model.get_model_object_list(session, model_status="published", model_name="digit", order="desc")print(model_object_list)
  • 示例代码 在ModelArts Notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 from modelarts.session import Sessionfrom modelarts.estimatorV2 import Estimatorsession = Session()job_list = Estimator.get_job_list(session=session, offset=10, limit=5, sort_by="create_time", order="asc", filters=[{"key": "name", "operator": "like", "value": ["trainjob"]}])print(job_list)
共100000条
提示

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