本案例以引用图片涉黄检测算法,新建图片涉黄检测算子为例进行配置指导。
新建算子
在算子管理列表,点击【新建】按钮,进入算子新增页面;
填写算子基础信息
在跳转的算子新建页面,填写算子英文名、中文名、选择算子标签、填写算子描述、选择算子输入、输出类型、选择算法来源及算法类型;
算子英文名称:支持英文、数字、下划线,必须以英文开头,最少4字符,最多40字符,具备唯一性;
算子中文名称:支持中文、英文、数字、下划线,最少4字符、最多40字符;
算子标签:下拉选择,表示该算子归属于哪一场景;
算子描述:用于详细描述算子的功能,建议填写100字以上,详细描述算子的作用及算子对应的业务价值等信息;
算子输入类型:表示该算子是处理何种类型的数据,本案例选择图片;
算子输出类型:表示该算子输出何种类型的数据,本案例选择图片;
算法来源:表示算法的来源,本案例选择内置模型服务;
算法类型:表示算法是生成类算法还是分析类算法,本案例选择分析类;表示该算法是模态到数据的算法;
定义算法信息
由于本案例选择的算法来源是内置模型服务,此处可在所有内置模型服务中进行选择;
本案例选择【图片涉黄检测】算法
查看输入参数定义
由于内置模型服务的算法输入参数与返回参数已经固定,所以配置页面提供body参数与返回结果的示例,帮助您进行前端组件的定义与输出字段的定义。
配置输出参数
所选算法的返回示例如下:
{
"status":0,
"result":[
{
"id":"0"
"size":"680,510",
"objects":[
{
"cls_name":"裸露",
"confidence":"0.575",
"xywh":"0.08392,0.16195,0.87576,0.99976"
}
]
}
]
”message":"success"
} 此时,在配置页面的输出参数部分,可以定义算子输出字段与算法输出字段的映射关系,按照如下方式进行配置:
某分析类算法可以识别图片中的物体并返回中英文结果,某次执行的返回结果如下:
{
"status":0,
"result":[
{
"tag":"image_recognition",
"en_tags":[
"car",
"cat"
],
"cn_tags":[
"汽车",
"猫"
]
}
],
"message":"success"
}
我们所需的结果为中文名和英文名,则在输出参数中配置为:
算子输出字段 算法输出字段
en_tags $.result[*].en_tags
cn_tags $.result[*].cn_tags
此时算子输出字段en_tags取值为:["car","cat"];算子输出字段cn_tags取值为:[”汽车“、”猫“]所以最终该算子的输出参数配置如下:
| 字段类型 | 算子输出字段 | 算法输出字段 |
|---|---|---|
| string | result_pic | $.result[*].object[*].cls_name |
| string | confidence | $.result[*].object[*].confidence |
| string | xywh | $.result[*].object[*].xywh |
字段类型与算子输出字段根据实际情况及需要进行修改,算法输出字段的根据算法返回示例中的json填写对应的取值表达式。
配置前端组件
定义前端组件时,需要查看算法的输入参数,识别是否需要用户进行参数输入。如本案例所需那的算法输入的body参数如下:
[
{
"data_type":"image",
"id:"",
"data":"${data_base64}"
}
]这里需要注意的是,若算法需传入的参数为文件,可以使用内置变量${data_base64},在body参数中将该变量填写到对应的存放位置中(如上面输入框的data参数),系统会将文件转换为Base64形式,并传输给算法。
分析算法的输入参数可知,本案例中所选算法无需用户输入额外参数,所以前端组件定义为空即可。
设置算子基础配置信息
最后设置该算子是否保存生成的文件或是生成的分析结果。一般来说,生成类算法会生成新的文件,此时建议勾选展示生成文件配置项,用于配置生成文件的存储路径;分析类算法会生成可解析的半结构化分析结果,此时建议勾选展示分析结果配置项,用于配置分析结果的存储表及映射关系。
保存算子
点击右下角【确定】按钮,即可保存算子,此时算子状态为【编辑中】。可在算子管理列表进行算子上线操作,上线后,算子会在算子广场及任务画布中展示。
自此本案例结束。