关于概念模型的相关介绍(概念模型的基本概念有哪些)
726
2022-05-30
编写推理配置文件
参考该帮助文档。
config.json是推理配置文件,文件是json格式,用于设置推理过程中的环境信息。比如推理环境Python包依赖安装、使用的AI引擎、使用的python版本、以及模型API的输入和输出等。
字段解读
样例解读
模型输入是一张图片;输出是预测结果,以json格式返回。
模型输入格式示例:
key:images
value:图片文件
模型输出格式示例:
{ "detection_classes": [ "face", "arm" ], "detection_boxes": [ [ 33.6, 42.6, 104.5, 203.4 ], [ 103.1, 92.8, 765.6, 945.7 ] ], "detection_scores": [0.99, 0.73] }
推理配置文件:
{ "model_type": "TensorFlow", "model_algorithm": "object_detection", "runtime": "tf2.1-python3.7", "apis": [{ "protocol": "https", "url": "/", "method": "post", "request": { "Content-type": "multipart/form-data", "data": { "type": "object", "properties": { "images": { "type": "file" } } } }, "response": { "Content-type": "multipart/form-data", "data": { "type": "object", "properties": { "detection_classes": { "type": "array", "items": [{ "type": "string" }] }, "detection_boxes": { "type": "array", "items": [{ "type": "array", "minItems": 4, "maxItems": 4, "items": [{ "type": "number" }] }] }, "detection_scores": { "type": "array", "items": [{ "type": "number" }] } } } } }], "dependencies": [{ "installer": "pip", "packages": [{ "restraint": "EXACT", "package_version": "1.15.0", "package_name": "numpy" }, { "restraint": "EXACT", "package_version": "3.4.1.15", "package_name": "opencv-python-headless" }, { "restraint": "EXACT", "package_version": "5.2.0", "package_name": "Pillow" } ] }] }
配置文件解读:
model_type是TensorFlow,表示推理环境中安装的AI引擎是TensorFlow。
runtime字段是tf2.1-python3.7,表示推理环境中安装的TensorFlow版本是2.1,python版本是3.6。
apis字段定义了请求API的协议是HTTPS,通过post请求接受和返回信息。
request(接受)中设置了请求接受数据的content-type是form-data,会将API接受到的数据按照表单的形式存储,在Python中可以通过字典的格式读取。并且,会将接受的图片按照file类型传入到推理代码。
response(返回)中将返回数据的content-type同样设置为form-data。其中的data表示请求返回的数据。在该样例中,返回的数据属性有三个,分别是detection_classes(检测到的类别)、detection_boxes(检测到的检测框)和detection_scores(类别的置信度)。推理代码需要将推理结果写入到这三个变量,并作为结果返回(参考模型输出格式示例)。items中的type表示数组中元素的类型,minItems和maxItems分别表示数组中最小和最大元素数。
dependencies,表示在推理环境中安装三个Python依赖包,并指定了包的版本。
复用指导
对于一个目标检测模型,可以复用上面这个推理配置文件,但是需要做如下微调。对于apis,可以直接复用;对于dependencies,需要根据自己的推理代码,修改其中的package_name和package_version;对于model_type和runtime,根据代码中实际使用的AI框架和Python版本填写。model_algorithm,自定义一个字符串即可。
模型输入是一张图片;输出是预测结果,以json格式返回。
模型输入格式示例:
key:images
value:图片文件
模型输出格式示例:
{ "predicted_label": "rose", "scores": [ ["rose", 0.99], ["daisy", 0.01] ] }
推理配置文件:
{ "model_type": "TensorFlow", "model_algorithm": "image_classification", "runtime": "tf1.13-python3.6-gpu", "apis": [{ "protocol": "https", "url": "/", "method": "post", "request": { "Content-type": "multipart/form-data", "data": { "type": "object", "properties": { "images": { "type": "file" } } } }, "response": { "Content-type": "multipart/form-data", "data": { "type": "object", "properties": { "predicted_label": { "type": "string" }, "scores": { "type": "array", "items": [{ "type": "array", "minItems": 2, "maxItems": 2, "items": [ { "type": "string" }, { "type": "number" } ] }] } } } } }], "dependencies": [{ "installer": "pip", "packages": [{ "restraint": "ATLEAST", "package_version": "1.15.0", "package_name": "numpy" }, { "restraint": "EXACT", "package_version": "3.4.1.15", "package_name": "opencv-python-headless" }, { "restraint": "", "package_version": "", "package_name": "Pillow" } ] }] }
配置文件解读:
其他字段的解读和样例一相同。图像分类和目标检测的返回结果格式不同。response中的data包含两个属性,分别是predicted_label(预测的类别)和scores(预测结果的概率分布)。
复用指导:
对于一个图像分类模型,可以复用上面的推理配置文件。复用指导同样例一。
这是一个结构化数据的预测示例,基于sklearn引擎,使用的是传统机器学习算法。
模型输入格式示例
输入的数据是特征列及其数值
{ "data": { "req_data": [ { "buying_price": "high", "maint_price": "high", "doors": "2", "persons": "2", "lug_boot": "small", "safety": "low", "acceptability": "acc" } ] } }
模型输出格式示例
输出的数据是标签列的预测结果
{ "data": { "resp_data": [ { "predict_result": "unacc" } ] } }
配置文件
{ "model_type": "Scikit_Learn", "model_algorithm": "predict_analysis", "runtime": "python3.6", "apis": [ { "protocol": "https", "url": "/", "method": "post", "request": { "Content-type": "application/json", "data": { "type": "object", "properties": { "data": { "type": "object", "properties": { "req_data": { "items": [ { "type": "object", "properties": {} }], "type": "array" } } } } } }, "response": { "Content-type": "multipart/form-data", "data": { "type": "object", "properties": { "data": { "type": "object", "properties": { "resp_data": { "type": "array", "items": [ { "type": "object", "properties": {} }] } } } } } } }], "dependencies": [ { "installer": "pip", "packages": [ { "restraint": "EXACT", "package_version": "1.15.0", "package_name": "numpy" }, { "restraint": "EXACT", "package_version": "5.2.0", "package_name": "Pillow" }] }] }
配置文件解读
model_type是Scikit_Learn,表示推理环境中安装的AI引擎是Scikit_Learn。
runtime字段是python3.6,表示推理环境中安装的python版本是3.6。部署在线服务的时候,选择cpu资源即可。
apis字段定义了请求API的协议是HTTPS,通过post请求接受和返回信息。
request中设置了API请求接受的数据类型是json,接受的数据会放到名称叫req_data的数组中。
response中将返回数据的内容类型设置为form-data,以表单的形式返回。预测结果放到名称为resp_data的数组中。
复用指导
对于一个传统机器学习的模型,可以复用上面的推理配置文件。复用指导参考样例一的复用指导。
附:
如何部署模型到ModelArts并远程调用 (一):保存模型为平台支持的格式
如何部署模型到ModelArts并远程调用 (三):编写推理代码
如何部署模型到ModelArts并远程调用 (四):导入模型
如何部署模型到ModelArts并远程调用 (五):如何调用在线API服务
AI开发平台ModelArts
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。