Skip to content

Latest commit

 

History

History
62 lines (43 loc) · 2.63 KB

文本检测训练文档.md

File metadata and controls

62 lines (43 loc) · 2.63 KB

训练文档


step 1 环境安装和预训练模型

  1. 编译c++后处理文件
sh make.sh
  1. 下载预训练模型 预训练模型地址:下载链接(code:fxw6)

  2. 下载icdar2015测试模型(不做测试可跳过这一步) 测试模型地址:下载链接(code:fxw6)

  3. 将下载下来的pre_model和checkpoint文件夹分别替换项目中的同名文件夹


step 2 准备训练所需文件

  1. 准备一个train_list.txt示例,格式是:图片文件绝对位置+图片文件标注txt文件绝对位置,用 \t 分隔. 参照下面修改成你自己的地址。
python3 ./script/get_train_list.py --img_path /src/train/image --label_path /src/train/label --save_path /src/train

运行后在/src/train会生成一个train_list.txt。

  • 提示:你的图片和label文件要同名。如果你要在训练时做验证要生成一个test_list.txt示例,在yaml中start_val可设置多少epoch后开始做验证。
  • 制作label文件说明:照着icdar2015的格式, x1,y1,x2,y2,x3,y3,x4,y4,label,其中不参与训练文本(例如模糊文本),label设置为###,代表不参与训练,除此之外表示参与训练,可以像我这样用text,或者别的也行。label格式参照这里

step 3 模型训练

正常模型训练

  1. 修改./config中对应算法的yaml中参数,基本上只需修改数据路径即可。
  2. 运行下面命令
python3 tools/det_train.py --config ./config/det_DB_mobilev3.yaml --log_str train_log  --n_epoch 1200 --start_val 600 --base_lr 0.002 --gpu_id 2
  • 提示:在./config/det_DB_resnet50.yaml里有参数解释,其他的yaml文件都是类似的,可以参照里面的。log_str是为了多次训练的时候结果可以保存在不同文件夹

断点恢复训练

将yaml文件中base下的restore置为True,restore_file填上恢复训练的模型地址,运行:

python3 tools/det_train.py --config ./config/det_DB_mobilev3.yaml --log_str train_log  --n_epoch 1200 --start_val 600 --base_lr 0.002 --gpu_id 2

step 4 模型测试

  1. 修改infer.sh中的参数
  2. 运行下面命令
sh infer.sh
  • 提示:测试时infer.sh文件中的 --img_path 既可以是文件夹也可以是文件