推理场景配置文件
将训练模型和参数处理为推理服务可用格式,参考以下命令执行。
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"
}
}
}
}