PaddleOCR 訓練模型參考

PaddleOCR 訓練模型參考

本文章介紹的是NV顯卡訓練。CPU訓練僅供參考,部分不同的地方請前往官方網站獲取資訊。

最後更新 2022/3/30 上午11:00
Dream.Machine
預計閱讀 4 分鐘
分類
.NET
標籤
.NET C# 模式訓練

本文介紹的是 NV 顯示卡訓練。CPU 訓練僅供參考,部分不同的地方請前往官方網站取得資訊。

官方位址:

必須要安裝的環境

  • Python 3.9(3.10):初期測試一直有問題後作者改為3.9,如果有需要請自行驗證3.10https://www.python.org/

  • Python:是執行腳本的關鍵詞,需要設定環境變數,底下的許多元件都需要設定環境變數,具體的請參考網路資訊。

  • pip:作者本身不會 Python,這個理解應該是一個安裝的插件。可以安裝第三方庫,如果 pip3 無法執行可以切換成 pip,具體原因不明。

  • pip 網路問題:可以在使用 pip 的時候加參數-i https://pypi.tuna.tsinghua.edu.cn/simple

例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspider,這樣就會從清華這邊的鏡像去安裝 pyspider 庫。

  • CUDA

https://developer.nvidia.com/cuda-downloads

作者安裝的是 10.2 的版本

  • CUDNN

https://developer.nvidia.com/cudnn

下載之後覆蓋儲存到 CUDA 目錄

  • PaddleOCR

https://github.com/PaddlePaddle/PaddleOCR

把專案複製到本地端

  • cd PaddleOCR

pip3 install -r requirements.txt

安裝 OCR 需要的第三方 python 庫

  • PPOCRLabel

這是建立學習資料的,標註工具,不是必要的,但是很方便。

cd ./PPOCRLabel # 將目錄切換到PPOCRLabel資料夾下
pip install pyqt5 # 安裝QT5 執行環境
pip3 install -r requirements.txt
python PPOCRLabel.py --lang ch # 啟動工具,如果啟動沒反應那麼就是缺少環境
  • ch_ppocr_mobile_v2.0_rec

預訓練模型(其他模型可以參考位址:models_list.md

ch_ppocr_mobile_v2.0_rec_pre.tar

  • 訓練參數文件

config.md

本地設定檔路徑:PaddleOCR-release-2.4\configs\rec\ch_ppocr_v2.0\rec_chinese_lite_train_v2.0.yml

  • 修改的值:
epoch_num: 1000 #循環次數
data_dir: ./train_data/ #訓練資料目錄
label_file_list: ["./train_data/train_list.txt"] #訓練資料的比對文字
batch_size_per_card: 128 #使用的數量(太大啟動不起來,可以自行修改)

  • 訓練目錄解釋
PaddleOCR-release-2.4\train_data
PaddleOCR-release-2.4\train_data\crop_img #用工具做好的圖片放到這裡
PaddleOCR-release-2.4\train_data\train_list.txt #訓練的文字資訊
PaddleOCR-release-2.4\train_data\val_list.txt   #驗證文字資訊 (目前作者使用的和訓練文字一樣的內容)內容如下

PaddleOCR-release-2.4\pretrain_models  #從官網下載的預訓練模型放到這裡
PaddleOCR-release-2.4\output #訓練輸出目錄
PaddleOCR-release-2.4\output\inference #最終匯出模型
  • 訓練腳本
//訓練模型
python tools/train.py -c configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml -o Global.pretrained_model=./pretrain_models/best_accuracy
//匯出模型
python tools/export_model.py -c configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml -o Global.checkpoints=output/rec_chinese_lite_v2.0/latest Global.save_inference_dir=output/inference
//使用訓練預測(預測資料夾)
python tools/infer_rec.py -c configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml -o Global.checkpoints=output/rec_chinese_lite_v2.0/latest Global.load_static_weights=false Global.infer_img=trainTest/
//使用訓練預測(預測單一檔案)
python tools/infer_rec.py -c configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml -o Global.checkpoints=output/rec_chinese_lite_v2.0/latest Global.load_static_weights=false Global.infer_img=trainTest/1000.jpg
//使用匯出模型預測
python tools/infer/predict_rec.py --image_dir="./trainTest/" --det_model_dir="./ch_PP-OCRv2_det_infer/"  --rec_model_dir="./output/inference/" --cls_model_dir="./ch_ppocr_mobile_v2.0_cls_infer/"

作者:Dream.Machine

網站:www.dmskin.com

繼續探索

延伸閱讀

更多文章
同分類 / 同標籤 2026/2/7

AOT使用經驗總結

從專案建立伊始,就應養成良好的習慣,即只要添加了新功能或使用了較新的語法,就及時進行 AOT 發布測試。

繼續閱讀