VS2019 は PaddleOCR V2.3 C++ GPU 推論を構成します

序文

1. PaddleOCR は、Baidu によってオープンソース化された非常にアクティブな OCR ライブラリです。トレーニングから推論展開までの完全なドキュメントとチュートリアルが含まれています。新しい V2.3 では、サーバー側の CPU の推論速度が 220% 向上しました。以前使ってみたかったPaddleOCRは医療検査用のテキスト認識やキーワード抽出を行ったことがあるのですが、速度と精度の問題で断念しましたV2以降の新しく更新されたバージョンで大幅な改善が見られたら試してみたいと思います。
2.ここでは PaddleOCR の C++ 推論のみが構成されています。環境: Win10、VS2019 Professional Edition、GPU は RTX 3080、CUDA 11.0、cuDNN 8.0、OpenCV 4.5。
3. PaddleOCR 公式では、Win での VS2019 の構成ドキュメントも提供しています。公式を参照したい場合は、https: //github.com/PaddlePaddle/PaddleOCR/blob/release/2.3/deploy/cpp_infer/docs/windows_vs2019_build にアクセスしてください。 md
4. 私も公式ドキュメントの設定に従い、2、3 回試しましたが成功しなかったので、ソース コードを直接クローンしてプロジェクトを再生成しました。

1. 環境構築

1. CUDA をインストールし、cuDNN ライブラリを追加し、環境変数にパスを追加します。このブログを参照してください: https://blog.csdn.net/u011473714/article/details/95042856
2. PaddleOCR C++ 予測ライブラリ
2.1 PaddleOCR C++ 予測ライブラリをダウンロードします ([https://paddleinference.paddlepaddle.org.cn)] /user_guides/ download_lib.html#windows]、(https://paddleinference.paddlepaddle.org.cn/user_guides/download_lib.html#windows)を選択し、CUDA に対応するバージョン、つまり私の環境に対応するバージョンを選択します。
ここに画像の説明を挿入
2.2 ダウンロード後に解凍すると、paddle ディレクトリと third_party ディレクトリの 2 つのディレクトリが存在します。 third_party の下の install ディレクトリ内のすべてのサブディレクトリにある include ディレクトリと lib ディレクトリの内容を、paddle ディレクトリの下の include ディレクトリと lib ディレクトリにコピーします。コピーが完了すると、次のようになります。
ここに画像の説明を挿入
ここに画像の説明を挿入
3. ソース コードをダウンロードします。git clone https://github.com/PaddlePaddle/PaddleOCR を使用するか、ソース コードの圧縮パッケージを直接ダウンロードします。デプロイ ディレクトリには C++ 推論ソースが含まれます。コード。
ここに画像の説明を挿入

4. 推論モデルをダウンロードし、Paddle git から対応する推論モデルをダウンロードします (テキスト検出モデル、分類モデル、認識モデルの合計 3 つのモデルがあります)。
ここに画像の説明を挿入
解凍後、プロジェクトに必要なモデルになります。
ここに画像の説明を挿入ここに画像の説明を挿入

2. プロジェクトを作成する

1. すべてのライブラリの依存関係と CPP ファイルを追加した後、プロジェクトのコンパイルを開始します。
2. コンパイル中に発生する可能性のあるエラーと解決策。
2.1 GOOGLE_GLOG_DLL_DECL=
エラー LNK2001 未解決の外部シンボル "__declspec(dllimport) public: __cdecl google::LogMessage::~LogMessage(void)" (_ imp ??1LogMessage@google@@QEAA@XZ)

2.2 マルチスレッド
LNK2038 が「_ITERATOR_DEBUG_LEVEL」の不一致を検出しました: 値「0」が値「2」(main.obj 内) と一致しません PaddleOCRCPP_V2_3

ここに画像の説明を挿入
2.3 shlwapi.lib
__imp_PathMatchSpecA PaddleOCRCPP_V2_3
ここに画像の説明を挿入

Supongo que te gusta

Origin blog.csdn.net/matt45m/article/details/120269347
Recomendado
Clasificación