昇腾社区首页
中文
注册

Inspection

mindrecord

mindrecord模型评估的参数名、类型、取值范围、默认值及说明如下表所示。

表1 生成mindrecord参数(wafer_mindspore/inspection/generate_mindrecords.py)

参数名

类型

取值范围

默认值

说明

--config

str

-

None

可选,参数配置文件路径,权限须设置为400。

--ratio

float

(0 ,1)

0.8

训练集的划分比例。

--input_chip_id

str

-

芯片ID。

--input_setup_id

str

-

""

芯片层。

--minddata_train

str

-

""

训练集MindRecord的保存路径。

--minddata_val

str

-

""

验证集MindRecord的保存路径。

--rgb_dir

str

-

rgb_ref/

RGB参考图目录路径。

--gray_dir

str

-

gray_ref/

灰度图目录路径。

--mask_dir

str

-

mask_ref/

掩码图目录路径。

--train_flag

bool

True 或 False

True

训练集数据平衡开关。

--data_txt

str

-

None

配准的txt文件。

--num_threads

int

[1,8]

2

使用的进程数。

“rgb_dir”“gray_dir”“mask_dir”目录下的图片必须按指定格式命名。参考如下:

“input_chip_id”为001,“input_setup_id”M1时,须将“rgb_dir”下的参考图命名为001_M1_rgb_golden_die.png“gray_dir”下的灰度图命名为001_M1_gray_golden_die.png“mask_dir”下的掩码图命名为001_M1_viaconductor_mask.png

输入参数中依赖的“data_txt”必须是一个txt文件,描述了机台拍摄图片的相关信息,需遵循以下规则进行编写。

  • 一行对应一张图片。
  • 每行共有12个字段。
  • 字段之间用一个空格分隔。

字段信息参见表2,编写示例参考如下。

新建一个“data.txt”,里面的内容为如下三行字符串。

img_1.jpg 001 M1 11224.435 12925.229 0 wafer_id1 01-08-22-13:09:22; device_id1 L21510106 model1 20
img_2.jpg 001 M1 13817.899 17822.569 0 wafer_id2 12-29-21-08:17:05; device_id1 L21510104 model2 20
img_3.jpg 001 M1 970.857 24809.092 0 wafer_id3 12-21-21-06:02:08; device_id3 L21510206 model3 20
表2 配准依赖文本字段信息说明

索引值

类型

取值范围

说明

0

str

-

图片路径。

1

str

-

芯片ID。

2

str

-

芯片层。

3

float

[0, 100000]

图片对应的 x 坐标。

4

float

[0, 100000]

图片对应的 y 坐标。

5

int

0或2

图片标签。

6

str

-

晶圆ID。

7

str

-

时间戳。

8

str

-

机台ID。

9

str

-

批次编号。

10

str

-

机台型号。

11

int

[1, 1000]

放大倍率。

mindrecord文件生成的命令参考如下:

python3 generate_mindrecords.py --config <config_path>

<config_path>为生成mindrecord需要的参数列表。

图1 使用命令生成mindrecord文件

inspection模型训练之前需要将数据集通过转化成mindrecord格式文件,不能直接将图片作为训练数据集,使用生成mindrecord格式文件用于训练。

图2 生成的mindrecord文件

训练参数及范围

inspection模型训练的参数名、类型、取值范围、默认值及说明如下表3所示。

表3 inspection模型训练参数说明(wafer_mindspore/inspection/inspection_train.py)

参数名

类型

取值范围

默认值

说明

--config

str

-

None

可选,参数配置文件路径,权限须设置为400。

--training_data

str

-

./xxx/yyy/zzz"

训练集MindRecord的路径。如有多个,以英文逗号分隔。

--validation_data

str

-

./xxx/yyy/zzz"

验证集MindRecord的路径。如有多个,以英文逗号分隔。

--save_checkpoint_dir

str

-

'./ckpt'

ckpt保存路径。

--save_fnfp

str

"yes", "no"

no

是否保存预测错误的图片。

--fnfp_path

str

-

./saved_fnfp_images

fn&fp图片保存路径。

--recall

float

(0 ,1)

0.99

召回率。

--device_target

str

"Ascend"或“GPU

"Ascend"

训练平台。

--steps_per_eval

int

[1, 10000]

1000

评估间隔数。

--epochs

int

[1, 10000]

300

训练次数。

--batch_size

int

[1, 128]

16

训练batch数。

--ref_type

str

"rgb", "gray"

'rgb'

参考图类型。

--ref_dir

str

-

'./xxx/yyy/zzz'

参考图目录路径。

--bytes_dataset

str

"yes", "no"

'yes'

是否拼接参考图。

--chip_setups

str

-

""

芯片ID及芯片层,如有多个,用英文逗号分隔。

--auto_balance

str

"filter", "sampler", "yes", "no"

'filter'

数据平衡方式。

--use_val_filter

int

[0, 10000]

2000

验证集使用的pass数量限制。

--input_res

int

[256, 1024]

256

图像分辨率。

“ref_dir”目录下要新建两个子目录“rgb_ref”“gray_ref”,子目录下的文件要按指定格式命名。参考如下:

“chip_setups”001M1时,须将“rgb_ref”下的参考图命名为001_M1_rgb_golden_die.png“gray_ref”下的灰度图命名为001_M1_gray_golden_die.png

训练命令参考

inspection模型训练的命令参考如下:

python3 inspection_train.py  --config <config_path>

<config_path>为检测模型训练需要的参数列表。

模型训练过程存在随机性,最终以评估精度为准。训练精度结果参考如下:

图3 训练精度结果

训练结束后会在“--save_checkpoint_dir”参数指定的输出目录中生成.ckpt模型文件,参考如下代码生成AIR模型,最后使用模型转换工具ATC即可将air模型转化成推理使用的OM模型。

图4 转化为AIR模型