209 lines
12 KiB
Markdown
209 lines
12 KiB
Markdown
# Overall directory structure
|
|
|
|
The overall directory structure of PaddleOCR is introduced as follows:
|
|
|
|
```
|
|
PaddleOCR
|
|
├── configs // configuration file, you can select model structure and modify hyperparameters through yml file
|
|
│ ├── cls // Related configuration files of direction classifier
|
|
│ │ ├── cls_mv3.yml // training configuration related, including backbone network, head, loss, optimizer
|
|
│ │ └── cls_reader.yml // Data reading related, data reading method, data storage path
|
|
│ ├── det // Detection related configuration files
|
|
│ │ ├── det_db_icdar15_reader.yml // data read
|
|
│ │ ├── det_mv3_db.yml // training configuration
|
|
│ │ ...
|
|
│ └── rec // Identify related configuration files
|
|
│ ├── rec_benchmark_reader.yml // LMDB format data reading related
|
|
│ ├── rec_chinese_common_train.yml // General Chinese training configuration
|
|
│ ├── rec_icdar15_reader.yml // simple data reading related, including data reading function, data path, label file
|
|
│ ...
|
|
├── deploy // deployment related
|
|
│ ├── android_demo // android_demo
|
|
│ │ ...
|
|
│ ├── cpp_infer // C++ infer
|
|
│ │ ├── CMakeLists.txt // Cmake file
|
|
│ │ ├── docs // documentation
|
|
│ │ │ └── windows_vs2019_build.md
|
|
│ │ ├── include
|
|
│ │ │ ├── clipper.h // clipper library
|
|
│ │ │ ├── config.h // infer configuration
|
|
│ │ │ ├── ocr_cls.h // direction classifier
|
|
│ │ │ ├── ocr_det.h // text detection
|
|
│ │ │ ├── ocr_rec.h // text recognition
|
|
│ │ │ ├── postprocess_op.h // postprocess after detection
|
|
│ │ │ ├── preprocess_op.h // preprocess detection
|
|
│ │ │ └── utility.h // tools
|
|
│ │ ├── readme.md // documentation
|
|
│ │ ├── ...
|
|
│ │ ├── src // source file
|
|
│ │ │ ├── clipper.cpp
|
|
│ │ │ ├── config.cpp
|
|
│ │ │ ├── main.cpp
|
|
│ │ │ ├── ocr_cls.cpp
|
|
│ │ │ ├── ocr_det.cpp
|
|
│ │ │ ├── ocr_rec.cpp
|
|
│ │ │ ├── postprocess_op.cpp
|
|
│ │ │ ├── preprocess_op.cpp
|
|
│ │ │ └── utility.cpp
|
|
│ │ └── tools // compile and execute script
|
|
│ │ ├── build.sh // compile script
|
|
│ │ ├── config.txt // configuration file
|
|
│ │ └── run.sh // Test startup script
|
|
│ ├── docker
|
|
│ │ └── hubserving
|
|
│ │ ├── cpu
|
|
│ │ │ └── Dockerfile
|
|
│ │ ├── gpu
|
|
│ │ │ └── Dockerfile
|
|
│ │ ├── README_cn.md
|
|
│ │ ├── README.md
|
|
│ │ └── sample_request.txt
|
|
│ ├── hubserving // hubserving
|
|
│ │ ├── ocr_det // text detection
|
|
│ │ │ ├── config.json // serving configuration
|
|
│ │ │ ├── __init__.py
|
|
│ │ │ ├── module.py // prediction model
|
|
│ │ │ └── params.py // prediction parameters
|
|
│ │ ├── ocr_rec // text recognition
|
|
│ │ │ ├── config.json
|
|
│ │ │ ├── __init__.py
|
|
│ │ │ ├── module.py
|
|
│ │ │ └── params.py
|
|
│ │ └── ocr_system // system forecast
|
|
│ │ ├── config.json
|
|
│ │ ├── __init__.py
|
|
│ │ ├── module.py
|
|
│ │ └── params.py
|
|
│ ├── imgs // prediction picture
|
|
│ │ ├── cpp_infer_pred_12.png
|
|
│ │ └── demo.png
|
|
│ ├── ios_demo // ios demo
|
|
│ │ ...
|
|
│ ├── lite // lite deployment
|
|
│ │ ├── cls_process.cc // direction classifier data processing
|
|
│ │ ├── cls_process.h
|
|
│ │ ├── config.txt // check configuration parameters
|
|
│ │ ├── crnn_process.cc // crnn data processing
|
|
│ │ ├── crnn_process.h
|
|
│ │ ├── db_post_process.cc // db data processing
|
|
│ │ ├── db_post_process.h
|
|
│ │ ├── Makefile // compile file
|
|
│ │ ├── ocr_db_crnn.cc // series prediction
|
|
│ │ ├── prepare.sh // data preparation
|
|
│ │ ├── readme.md // documentation
|
|
│ │ ...
|
|
│ ├── pdserving // pdserving deployment
|
|
│ │ ├── det_local_server.py // fast detection version, easy deployment and fast prediction
|
|
│ │ ├── det_web_server.py // Full version of detection, high stability and distributed deployment
|
|
│ │ ├── ocr_local_server.py // detection + identification quick version
|
|
│ │ ├── ocr_web_client.py // client
|
|
│ │ ├── ocr_web_server.py // detection + identification full version
|
|
│ │ ├── readme.md // documentation
|
|
│ │ ├── rec_local_server.py // recognize quick version
|
|
│ │ └── rec_web_server.py // Identify the full version
|
|
│ └── slim
|
|
│ └── quantization // quantization related
|
|
│ ├── export_model.py // export model
|
|
│ ├── quant.py // quantization
|
|
│ └── README.md // Documentation
|
|
├── doc // Documentation tutorial
|
|
│ ...
|
|
├── paddleocr.py
|
|
├── ppocr // network core code
|
|
│ ├── data // data processing
|
|
│ │ ├── cls // direction classifier
|
|
│ │ │ ├── dataset_traversal.py // Data transmission, define data reader, read data and form batch
|
|
│ │ │ └── randaugment.py // Random data augmentation operation
|
|
│ │ ├── det // detection
|
|
│ │ │ ├── data_augment.py // data augmentation operation
|
|
│ │ │ ├── dataset_traversal.py // Data transmission, define data reader, read data and form batch
|
|
│ │ │ ├── db_process.py // db data processing
|
|
│ │ │ ├── east_process.py // east data processing
|
|
│ │ │ ├── make_border_map.py // Generate boundary map
|
|
│ │ │ ├── make_shrink_map.py // Generate shrink map
|
|
│ │ │ ├── random_crop_data.py // random crop
|
|
│ │ │ └── sast_process.py // sast data processing
|
|
│ │ ├── reader_main.py // main function of data reader
|
|
│ │ └── rec // recognation
|
|
│ │ ├── dataset_traversal.py // Data transmission, define data reader, including LMDB_Reader and Simple_Reader
|
|
│ │ └── img_tools.py // Data processing related, including data normalization and disturbance
|
|
│ ├── __init__.py
|
|
│ ├── modeling // networking related
|
|
│ │ ├── architectures // Model architecture, which defines the various modules required by the model
|
|
│ │ │ ├── cls_model.py // direction classifier
|
|
│ │ │ ├── det_model.py // detection
|
|
│ │ │ └── rec_model.py // recognition
|
|
│ │ ├── backbones // backbone network
|
|
│ │ │ ├── det_mobilenet_v3.py // detect mobilenet_v3
|
|
│ │ │ ├── det_resnet_vd.py
|
|
│ │ │ ├── det_resnet_vd_sast.py
|
|
│ │ │ ├── rec_mobilenet_v3.py // recognize mobilenet_v3
|
|
│ │ │ ├── rec_resnet_fpn.py
|
|
│ │ │ └── rec_resnet_vd.py
|
|
│ │ ├── common_functions.py // common functions
|
|
│ │ ├── heads
|
|
│ │ │ ├── cls_head.py // class header
|
|
│ │ │ ├── det_db_head.py // db detection head
|
|
│ │ │ ├── det_east_head.py // east detection head
|
|
│ │ │ ├── det_sast_head.py // sast detection head
|
|
│ │ │ ├── rec_attention_head.py // recognition attention
|
|
│ │ │ ├── rec_ctc_head.py // recognition ctc
|
|
│ │ │ ├── rec_seq_encoder.py // recognition sequence code
|
|
│ │ │ ├── rec_srn_all_head.py // srn related
|
|
│ │ │ └── self_attention // srn attention
|
|
│ │ │ └── model.py
|
|
│ │ ├── losses // loss function
|
|
│ │ │ ├── cls_loss.py // Directional classifier loss function
|
|
│ │ │ ├── det_basic_loss.py // detect basic loss
|
|
│ │ │ ├── det_db_loss.py // DB loss
|
|
│ │ │ ├── det_east_loss.py // EAST loss
|
|
│ │ │ ├── det_sast_loss.py // SAST loss
|
|
│ │ │ ├── rec_attention_loss.py // attention loss
|
|
│ │ │ ├── rec_ctc_loss.py // ctc loss
|
|
│ │ │ └── rec_srn_loss.py // srn loss
|
|
│ │ └── stns // Spatial transformation network
|
|
│ │ └── tps.py // TPS conversion
|
|
│ ├── optimizer.py // optimizer
|
|
│ ├── postprocess // post-processing
|
|
│ │ ├── db_postprocess.py // DB postprocess
|
|
│ │ ├── east_postprocess.py // East postprocess
|
|
│ │ ├── lanms // lanms related
|
|
│ │ │ ...
|
|
│ │ ├── locality_aware_nms.py // nms
|
|
│ │ └── sast_postprocess.py // sast post-processing
|
|
│ └── utils // tools
|
|
│ ├── character.py // Character processing, including text encoding and decoding, and calculation of prediction accuracy
|
|
│ ├── check.py // parameter loading check
|
|
│ ├── ic15_dict.txt // English number dictionary, case sensitive
|
|
│ ├── ppocr_keys_v1.txt // Chinese dictionary, used to train Chinese models
|
|
│ ├── save_load.py // model save and load function
|
|
│ ├── stats.py // Statistics
|
|
│ └── utility.py // Tool functions, including related check tools such as whether the input parameters are legal
|
|
├── README_en.md // documentation
|
|
├── README.md
|
|
├── requirments.txt // installation dependencies
|
|
├── setup.py // whl package packaging script
|
|
└── tools // start tool
|
|
├── eval.py // evaluation function
|
|
├── eval_utils // evaluation tools
|
|
│ ├── eval_cls_utils.py // category related
|
|
│ ├── eval_det_iou.py // detect iou related
|
|
│ ├── eval_det_utils.py // detection related
|
|
│ ├── eval_rec_utils.py // recognition related
|
|
│ └── __init__.py
|
|
├── export_model.py // export infer model
|
|
├── infer // Forecast based on prediction engine
|
|
│ ├── predict_cls.py
|
|
│ ├── predict_det.py
|
|
│ ├── predict_rec.py
|
|
│ ├── predict_system.py
|
|
│ └── utility.py
|
|
├── infer_cls.py // Predict classification based on training engine
|
|
├── infer_det.py // Predictive detection based on training engine
|
|
├── infer_rec.py // Predictive recognition based on training engine
|
|
├── program.py // overall process
|
|
├── test_hubserving.py
|
|
└── train.py // start training
|
|
|
|
```
|