昇腾社区首页
中文
注册

文字检测场景CTPN

训练参数及范围

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

表1 CTPN模型训练的参数信息(ctpn_mindspore/model_train.py)

参数名

类型

取值范围

默认值

说明

--train_dataset_path

str

-

None

训练数据集路径。

--pretrained_ckpt_path

str

-

"pre_trained_ckpt"

预训练模型路径。

--train_output_path

str

-

"train_output_path"

训练结果输出路径。

--device_id

int

0~7

0

训练NPU的id。

--device_num

int

仅支持1(当前仅支持单卡训练)

1

训练NPU的数量。

--input_width

str

(0,1280) 且为16的整数倍

“960”

训练的尺寸-宽。

--input_height

str

(0,1280) 且为16的整数倍

“576”

训练的尺寸-高。

--batch_size

int

仅支持为1

1

训练图片批数量。

--init_lr

float

(0, 1)

0.0005

训练学习率。

--epoch_size

int

[1, 10000]

10

训练的轮数。

--run_eval

bool

True 或 False

True

训练时是否评估。

--eval_start_epoch

int

[1, 10000]

1

训练时多少轮开始评估。

--save_best_ckpt

bool

True 或 False

True

是否保存最佳的ckpt文件。(后续版本计划删除该参数。目前在run_eval为True时默认保存最佳的ckpt文件。)

--eval_interval

int

[1, 10000]

1

间隔多少个epoch评估一次。

训练命令参考

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

python3 model_train.py --train_dataset_path=/path_to/images --train_output_path=./output_dir --pretrained_ckpt_path=/path_to/ckpt --epoch_size=20 --batch_size=1 --input_width=960 --input_height=576 --init_lr=0.0005 --device_num=1 --device_id=0 --run_eval=True

模型训练过程存在随机性,最终以评估精度为准。使用以上参数,4张图片、20个epoch时的训练精度结果参考如下。

图1 训练精度结果

训练结束后log信息参考如下:

图2 训练结束log信息

训练结束后会在“--train_output_path”参数指定的输出目录中生成.ckpt、.a310.om、.a310p.om和.air格式的模型文件。

评估参数及范围

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

表2 CTPN模型评估的参数说明(ctpn_mindspore/model_eval.py)

参数名

类型

取值范围

默认值

说明

--eval_dataset_path

str

-

“”

评估数据集路径。

--eval_ckpt_path

str

-

“”

训练后模型路径。

--eval_output_path

str

-

“eval_output_path”

评估结果输出路径。

--device_id

int

0~7

0

评估NPU的id。

--text_iou_thresh

float

-

0.2

文本连接iou阈值。

评估命令参考

CTPN模型评估的命令参考如下:

python3 model_eval.py --eval_dataset_path= path_to/images --eval_ckpt_path= path_to/your_ckpt --eval_output_path=./eval_result --device_id=0

采用训练输出的ckpt,来评估模型的精度值,参考如下:

图3 模型评估精度值

在评估目录下会生成以下目录,其中“all_images\ng_images\ok_images”文件夹存放评估图片的结果、“statistics.csv”存放对应的精度结果。

图4 评估目录