本記事では、NV GPUを使用したトレーニングについて説明します。CPUトレーニングは参考程度として、一部異なる部分については公式Webサイトで情報を取得してください。
公式アドレス:
必須のインストール環境
Python 3.9(3.10):初期テストで問題が発生したため、作者は
3.9に変更しました。必要に応じて3.10を自己検証してください:https://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
- トレーニングパラメータドキュメント
ローカル設定ファイルのパス: 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