MMOCR

测试单张图片

python demo/image_demo.py demo/demo_text_recog.jpg configs/textrecog/crnn/crnn_academic_dataset.py pth/crnn_academic-a723a1c5.pth demo/demo_text_recog_pred.jpg --imshow

训练模型

All outputs (log files and checkpoints) will be saved to a working directory specified by work_dir in the config file.

./tools/dist_train.sh configs/textrecog/crnn/crnn_academic_dataset.py work_dirs/CRNN 4


#后台执行
nohup ./tools/dist_train.sh configs/textrecog/crnn/crnn_academic_dataset.py work_dirs/CRNN 4 > CRNN.log 2>&1 &

 

robust_scanner

./tools/dist_train.sh configs/textrecog/robust_scanner/robustscanner_r31_academic.py work_dirs/robustscanner 8

nohup ./tools/dist_train.sh configs/textrecog/robust_scanner/robustscanner_r31_academic.py work_dirs/robustscanner 8 > robust_scanner.log 2>&1 &

 

框架结构

整个MMOCR的骨架还是MMDetection

模型构建训练等等代码的主体是在 tools/train.py里面的,这是一个普适所有模型的框架,不同的模型通过configs/textrecog/crnn/crnn_academic_dataset.py 这个python文件来传递具体模型的config参数

 

在train.py中,这是在创建模型

MMOCR_第1张图片

build_detector返回的是一个type名字对应的类的对象

例如我们传递的模型参数是

MMOCR_第2张图片

build_detector将会返回一个CRNNNet类型的对象

 

这是训练模型

MMOCR_第3张图片

在train_detector函数的内部实际做的是实例化runner, 并且run runner

跳到train_detector所在的文件mmocr/apis/train.py,可以看到runner使用哪个类在这里

MMOCR_第4张图片

实例化runner

MMOCR_第5张图片

build_runner函数中就一句build_from_cfg

可以看到真正的train的命令是在这里

这里的runner是用的base_runner

runner的run()函数是在epoch_based_runner中定义的

 

hook的注册都是在mmocr/apis/train.py中的

但是在这里面只是register hook,没有调用hook

在runner.run()的run函数里才调用hook

 

 

 

val是在

anaconda3/envs/open-mmocr/lib/python3.7/site-packages/mmdet/core/evaluation/eval_hooks.py

 

 

VeryDeepVgg是在

/home/xhhao/py/mmocr/mmocr/models/textrecog/backbones/very_deep_vgg.py

CRNNDecoder是在

/home/xhhao/py/mmocr/mmocr/models/textrecog/decoders/crnn_decoder.py

CTCLoss是在

/home/xhhao/py/mmocr/configs/textrecog/crnn/crnn_academic_dataset.py

 

tools/train.py中其实就做了四件事

  1. 设定和读取各种配置;
  2. 创建模型;
  3. 创建数据集;
  4. 将模型,数据集和配置传进训练函数;

 

mmocr/apis/train.py 中做的事

  • 准备 dataloaders
  • 模型放到GPU上
  • build runner & 实例化runner
  • register hooks
  • run runner

 

RUNNER中做的事

MMOCR_第6张图片

 

 

 

 

 

https://zhuanlan.zhihu.com/p/120830588

https://zhuanlan.zhihu.com/p/311903692

你可能感兴趣的:(OCR,深度学习)