推理场景配置文件
将训练模型和参数处理为推理服务可用格式,参考以下命令执行。
python3 scripts/infer_service_generation.py --model_params=model_service_param.json
参数 |
类型 |
默认值 |
说明 |
---|---|---|---|
task_name |
String |
无 |
必选,任务名称。 |
project_list |
Array[Object] |
无 |
必选,项目列表。 |
custom_params |
无 |
可选,自定义字段。 |
参数 |
类型 |
默认值 |
说明 |
---|---|---|---|
scene |
String |
无 |
必选,场景名称。 |
project_name |
String |
无 |
必选,项目名称。 |
model_list |
Array[Object] |
无 |
必选,模型列表。 |
参数 |
类型 |
默认值 |
说明 |
---|---|---|---|
application |
String |
无 |
必选,应用场景,详情参见如下。
|
model_name |
String |
无 |
可选,模型名称。在晶元检测场景下必选。 |
result_path |
String |
无 |
必选,训练生成的om和“train_params.config”文件夹路径。 |
ref_path |
String |
无 |
可选,在晶元检测场景下使用。参考图存放路径。 |
参数 |
类型 |
默认值 |
说明 |
---|---|---|---|
max_infer_timeout |
String |
5000 |
可选,最大推理时延。 |
FirstDetectionFilter |
String |
无 |
可选,检测目标框面积过滤。可根据面积大小,置信度对目标框过滤。 示例:{'Type': 'Area', 'TopN': 0,'BottomN': 0,'MinArea': 0,'MaxArea': 0,'ConfThresh': 0.0}。 |
tag_1 |
String |
无 |
可选,检测的标签名称。在标签缺陷检测场景下使用。参数名中的“1”为标签序号。 |
tag_1_params |
String |
无 |
可选,边缘缺陷参数配置。在标签缺陷检测场景下使用。参数名中的“1”为标签序号。 示例:{'edge_defect_thres_all': 10,'shape': (1, 128, 512, 3),'physical_size': [70, 30]}。
|
参数 |
类型 |
默认值 |
说明 |
---|---|---|---|
infer_scene |
String |
无 |
必选,推理场景的名称。 |
ProjectName |
String |
无 |
必选,项目名称。 |
TaskName |
String |
无 |
必选,任务名称。 |
config_path |
String |
无 |
可选,配置文件路径,半导体检测场景下使用。 |
pipeline_path |
String |
无 |
必须,pipeline文件路径。 |
default_device_id |
int |
0 |
必须,指定运行的芯片编号。 |
custom_params |
Dict |
无 |
可选,用户自定义参数。 |
“model_configs.json”编写示例参考如下:
{ "model_configs": [ { "infer_scene": "wafer", "ProjectName": "project_wafer", "TaskName": "assm1-2", "config_path":"config/models/project_jsx/assm1-2/1/aoi_ai_config.json", "pipeline_path": "config/models/project_jsx/assm1-2/1/aoi_ai_sdk.pipeline", "default_device_id": 0, "custom_params": { "maximum_tag_num": "100" } } ] }
参数 |
类型 |
默认值 |
说明 |
---|---|---|---|
station_names |
Dict |
无 |
必选,机台名称 : 编号。 目前只适配了两种机台: "RudolphTechnologies": 0, "Camtek": 1 |
ref_key_exclude |
List |
无 |
可选,需要做中心裁剪的芯片层号。 |
labels |
List |
无 |
必选,支持的芯片工序。 |
convert_map |
Dict |
无 |
必选,填写方式参考如下: "convert_map": { "芯片编号": { "芯片工序": { "芯片层号": ["M1"], "classes": ["A", "B"] } } |
reg_range_lut |
Dict |
无 |
必选 ,填写方式参考如下: “reg_range_lut” : { “芯片编号层号” : [ [[R机台x轴上变化范围],[C机台x轴上变化范围]], [[R机台y轴上变化范围],[C机台y轴上变化范围]], 配准阈值, 机台上的原始芯片宽度, 机台上的原始芯片高度, 芯片灰度参考图的宽度, 芯片灰度参考图的高度, 第二个倍镜与第一个倍镜的倍数比例 ] } 具体请参见表7。 |
preprocess.blur_threds |
String |
7 |
必选,模糊过滤的阈值。 |
model_infer.model_num |
int |
4 |
必选,推理模型的数量。 |
postprocess.reject_prob_thred_and_version.reject_prob_thred |
Float |
0.1 |
必选,推理的拒绝阈值。 |
postprocess.reject_prob_thred_and_version.version |
String |
无 |
必选,推理模型的版本号。 |
索引值 |
类型 |
取值范围 |
说明 |
---|---|---|---|
0 |
list |
两个范围在[0, 100000]的int值 |
x轴范围。 |
1 |
list |
两个范围在[0, 100000]的int值 |
y轴范围。 |
2 |
float |
[0, 1] |
配准阈值。 |
3 |
float |
(0, 100000) |
die宽。 |
4 |
float |
(0, 100000) |
die高。 |
5 |
float |
(0, 100000) |
灰度图宽。 |
6 |
float |
(0, 100000) |
灰度图高。 |
7 |
float |
[0.1, 10] |
倍率比例。 |
“aoi_ai_config.json”编写示例参考如下。
{ "station_names": { "RudolphTechnologies": 0, "Camtek": 1 }, "ref_key_exclude": ["00101PI3"], "labels": ["FOI_FOP","BMP"], "convert_map": { "001": { "FOI_FOP": { "layers": ["M1"], "classes": ["A","B","E","F","L","M","MS"] }, "BMP": { "layers": [], "classes": [ ["A","B","D","E"], ["C","F"] ] } } }, "reg_range_lut": { "00101M1": [ [[40,130],[57,97]],[[20,110],[71,111]],0.5,17752.80126254142,18257.015024389606,10140,10431,2 ] }, "preprocess": { "blur_threds": { "default": 7, "00101M1": 7.95 } }, "model_infer": { "model_num": 4 }, "postprocess": { "reject_prob_thred_and_version": { "default": { "reject_prob_thred": 0, "version": "beta" }, "00101M1": { "reject_prob_thred": 0.3, "version": "1.1.1" } } } }