准备数据集
自己新建目录
下载识别预训练模型
下载之后是一个压缩包,解压后(注意:rec是自己新建的目录)
修改配置文件
修改内容:
1.训练后模型存储目录;
2.是否训练可视化;
3.训练数据集图片和标注位置;
4.测试数据集图片和标注位置;
5.其他参数如等可以在训练时在命令行中指定,更多配置文档内容参见官网资料。
# 训练后模型存储目录
Global:
debug: false
use_gpu: true
epoch_num: 800
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/ch_PP-OCRv2_rec/ # 这里改一下,官方命名很混乱
use_visualdl: true # 这里改成true,训练可视化
# 修改训练数据集图片和标注位置
Train:
dataset:
name: SimpleDataSet
data_dir: ./car_plate_images/images_rec/train # 这里改成训练数据集图片位置
label_file_list:
- ./car_plate_images/images_rec/rec_label_train.txt # 这里改成训练数据集标注
# 测试数据集图片和标注位置
Eval:
dataset:
name: SimpleDataSet
data_dir: ./car_plate_images/images_rec/test # 这里改成测试数据集图片位置
label_file_list:
- ./car_plate_images/images_rec/rec_label_test.txt # 这里改成测试数据集标注
预训练模型 测试命令
python tools/eval.py -c "configs/rec/ch_PP-OCRv2/rec.yml" -o Global.checkpoints="./mode/rec/ch_ppocr_server_v2.0_rec_train/best_accuracy"
训练命令
python tools/train.py -c "configs/rec/ch_PP-OCRv2/rec.yml" -o Global.pretrained_model="./mode/rec/ch_ppocr_server_v2.0_rec_train/best_accuracy"
断点续训
python tools/train.py -c "configs/rec/ch_PP-OCRv2/rec.yml" -o Global.pretrained_model="./mode/rec/ch_ppocr_server_v2.0_rec_train/best_accuracy" -o Global.checkpoints="./output/ch_PP-OCRv2_rec/latest"
训练后的测试命令
python tools/eval.py -c "configs/rec/ch_PP-OCRv2/rec.yml" -o Global.checkpoints="./output/ch_PP-OCRv2_rec/best_accuracy"
测试一张图
-o Global.pretrained_model 训练保存的文件路径
python tools/infer_rec.py -c "configs/rec/ch_PP-OCRv2/rec.yml" -o Global.pretrained_model="./output/ch_PP-OCRv2_rec/best_accuracy" Global.infer_img="1.jpg "
训练可视化
进入项目主目录中,在终端输入命令
visualdl --logdir "output/ch_PP-OCRv2_rec/vdl"
导出为推理模型:
#-c 后面设置训练算法的yml配置文件
#-o 配置可选参数
#Global.pretrained_model 参数设置待转换的训练模型地址,不用添加文件后缀 .pdmodel,.pdopt或.pdparams。
#Global.save_inference_dir参数设置转换的模型将保存的地址。
python tools/export_model.py -c "configs/rec/ch_PP-OCRv2/rec.yml" -o Global.pretrained_model="./output/ch_PP-OCRv2_rec/best_accuracy" Global.save_inference_dir="./output/"
推理模型预测
#选择Student模型
#image_dir 图片地址
#rec_model_dir 模型地址
#use_gpu 是否使用GPU
python tools/infer/predict_rec.py --image_dir="./car_plate_images/images_rec/test/" --rec_model_dir="./output/" --use_gpu=True
训练时出现了一个报错,
我将paddlepaddle降级为2.2.2
卸载paddlepaddle命令
python -m pip uninstall paddlepaddle-gpu
安装2.2.2GPU cuda11.1版本
python -m pip install paddlepaddle-gpu==2.2.2.post111 -f https://www.paddlepaddle.org.cn/whl/windows/mkl/avx/stable.html
训练可视化出现错误
重新安装了numpy
问题补充:
出现以下报错,需要设置字符长度。
需要在配置文件中:修改max_text_length参数,我的修改为50就可以了.
要改3处!!!改1处还是会报错的。