昇腾社区首页
中文
注册

推理场景配置文件

将训练模型和参数处理为推理服务可用格式,参考以下命令执行。

python3 scripts/infer_service_generation.py --model_params=model_service_param.json
表1 model_service_param.json文件参数详情

参数

类型

默认值

说明

task_name

String

必选,任务名称。

project_list

Array[Object]

必选,项目列表。

custom_params

Object

可选,自定义字段。

表2 单个project详情

参数

类型

默认值

说明

scene

String

必选,场景名称。

project_name

String

必选,项目名称。

model_list

Array[Object]

必选,模型列表。

表3 单个model详情

参数

类型

默认值

说明

application

String

必选,应用场景,详情参见如下。

  • det:异物检测。
  • seg:图像分割。
  • det_cls:器件错漏反。
  • ocr:工业OCR。
  • det_det:检测+检测。
  • det_seg:检测+图像分割。
  • det_ocr:检测+工业OCR。
  • tag_paste:标签缺陷检测。
  • wafer:晶元检测。
  • det_htp:高性能检测。

model_name

String

可选,模型名称。在晶元检测场景下必选。

result_path

String

必选,训练生成的om和“train_params.config”文件夹路径。

ref_path

String

可选,在晶元检测场景下使用。参考图存放路径。

表4 custom_params参数详情

参数

类型

默认值

说明

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]}。

  • “edge_defect_thres_all”为边缘缺陷面积大小。
  • “shape”分类模型输入尺寸。
  • “physical_size”标签物理尺寸。
表5 model_configs.json配置参数

参数

类型

默认值

说明

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"
            }
        }
    ]
}
表6 半导体的aoi_ai_config.json配置参数

参数

类型

默认值

说明

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

必选,推理模型的版本号。

表7 reg_range_lut参数说明

索引值

类型

取值范围

说明

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"
            }
        }
    }
}