NVIDIAの公式ウェブサイトはtensorRT7.0をリリースしました。モデルサーバーの展開には、tensorRTが非常に優れています。公式ウェブサイトのリンクを最初に置きます。
https://docs.nvidia.com/deeplearning/sdk/tensorrt-developer-guide/index.html
最初にTensorRTを紹介します
TensorRTのコアは、深層学習の高性能C ++推論ライブラリであり、基本的にTensorflow、Caffe、Pytorch、MXNetなどの主流のトレーニングフレームワークに適合しています。
Linuxインストールリファレンス:[TensorRT] tensorRT7.0インストール構成
Windowsインストールリファレンス:Win10 + VS2017環境でのTensorRT7.0のインストールとテスト
1.インストール手順
TensorRTバージョン5.0+ Cuda 10.0 + cuDNN 7.3.1を使用しましたが、TensorRT7.0を試してください。
インストール手順は次のとおりです。
1)公式ウェブサイトからインストールパッケージをダウンロードします:https://developer.nvidia.com/tensorrt
2)インストールパッケージを解凍します
3)対応するインストールディレクトリと対応するbinおよびlibディレクトリをシステムパスマクロ定義に追加します
4)対応するcudaバージョンが配置されているディレクトリとcudaのbinディレクトリがシステムパスにあることを確認します。この手順は以前に実行しました。
2、テスト
TensorRT 7.0に付属のsample_mnistをテストします。正しくコンパイルされますが、実行時に異常終了します。処理は次のとおりです。
1)デバッグ情報(例ではリリースバージョンのみ)を追加し、障害ポイントを特定し、ファイルが見つからないかどうかを確認します。結果はそうではなく、builder-> createBuilderConfig()の呼び出しで無効になります。
2)TensorRT7.0のCudaバージョン要件を確認します。ダウンロードパッケージに必要なバージョンはCuda10.0 + cuDNN7.6なので、cuDNN 7.3.1を対応するバージョン(7.6)にアップグレードします-まだ機能していません
3)グラフィックカードドライバーを最新バージョンに更新します(私のグラフィックカードはGeforce GTX 1650で、NVidia Webサイトからダウンロードします)-まだ機能していません
4)TensorRTのバージョンが高すぎて、多くの環境でサポートされていないかどうかを考慮して、TensorRT 6.0をインストールし、テストします-同じ場所でまだ死んでいます
5)Cudaを10.0から10.2に更新すると、問題は解決します-TensorRT6.0および7.0は正しいです
6)cuDNNバージョン7.3.1を使用すると、実行時に警告が表示されますが、結果は正しいままです。cuDNNバージョンを7.6.4に更新すると、警告は消えました。
7)実行結果は正しいですが、プログラムの実行中にロードされたDLLを観察すると、cuda10.0とcuda10.2のDLLライブラリが同時にロードされていることがわかります。プログラムリンクプロンプトメッセージを開くと、実際、プログラムリンクプロセス中にcuda10.2のlibライブラリのみがロードされます。対応するTensorRTバージョンはcuda10.0でコンパイルされているはずなので、対応するライブラリを使用してください。TensorRTのcuda10.2バージョンを再ダウンロードした後、cuda10.0ライブラリはロードされなくなりました。
上記は参照用であり、実際の操作は次のとおりです。
ダウンロードアドレスからダウンロードしたいバージョンを見つけます。
ダウンロードリンク:https://developer.nvidia.com/nvidia-tensorrt-7x-download
開発ドキュメント:https://docs.nvidia.com/deeplearning/tensorrt/developer-guide/index.html
TensorRT-7.0.0.11.Windows10.x86_64.cuda-10.0.cudnn7.6.zipをダウンロードした後、解凍し、vs2017を使用してsample_mnist.slnを開きます(vc141が使用されているため、vs2015のデフォルトはvc140であり、vs2017のデフォルトはvc141であるため、 vs2017はプロジェクトを開きます。そうしないと、コンパイルは成功しません。)
以前にcuda10.0とcudnn7.6.5をインストールしたので、直接使用できます。cuda10.2とcudnn7.6.5もインストールしたので、コンパイルとcuda10.2の後で依存関係を確認しました。結局のところ、vs2017を使い始めたばかりです。cudaがどこで構成されているかわかりません。vs2015はどのcudaを使用するかを直接構成できます。vs2017は構成する場所を見つけられませんでした。
>dumpbin /dependents sample_mnist.exe
Microsoft (R) COFF/PE Dumper Version 14.16.27042.0
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file sample_mnist.exe
File Type: EXECUTABLE IMAGE
Image has the following dependencies:
nvinfer.dll
nvparsers.dll
cudart64_102.dll
MSVCP140.dll
VCRUNTIME140.dll
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-crt-heap-l1-1-0.dll
api-ms-win-crt-utility-l1-1-0.dll
api-ms-win-crt-convert-l1-1-0.dll
api-ms-win-crt-stdio-l1-1-0.dll
api-ms-win-crt-filesystem-l1-1-0.dll
api-ms-win-crt-time-l1-1-0.dll
api-ms-win-crt-math-l1-1-0.dll
api-ms-win-crt-environment-l1-1-0.dll
api-ms-win-crt-string-l1-1-0.dll
api-ms-win-crt-locale-l1-1-0.dll
KERNEL32.dll
1.コンパイル後、TensorRT-7.0.0.11 \ binディレクトリにsample_mnist.exeを生成します。
2. TensorRT-7.0.0.11 \ libディレクトリの動的ライブラリをTensorRT-7.0.0.11 \ binディレクトリにコピーします。
3. mnistデータをダウンロードします。powershellを開き、TensorRT-7.0.0.11 \ data \ mnistディレクトリで実行します。
python .\download_pgms.py
4. powershellの下で、ルートディレクトリ\ TensorRT-7.0.0.11フォルダーに戻り、プログラムを実行します。
> .\bin\sample_mnist.exe
&&&& RUNNING TensorRT.sample_mnist # D:\Program Files\TensorRT-7.0.0.11.Windows10.x86_64.cuda-10.0.cudnn7.6\TensorRT-7.0.0.11\bin\sample_mnist.exe
[09/24/2020-22:13:31] [I] Building and running a GPU inference engine for MNIST
[09/24/2020-22:13:33] [I] [TRT] Detected 1 inputs and 1 output network tensors.
[09/24/2020-22:13:33] [W] [TRT] Current optimization profile is: 0. Please ensure there are no enqueued operations pending in this context prior to switching profiles
[09/24/2020-22:13:33] [I] Input:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@#=. +*=#@@@@@@@
@@@@@@@@@@@* :. -@@@@@@@
@@@@@@@@@@# :#@@: +@@@@@@@
@@@@@@@@@* :@@@* .@@@@@@@@
@@@@@@@@= =@@@@. *@@@@@@@@
@@@@@@@= -@@@@* =@@@@@@@@@
@@@@@@@ -@@@%: -@@@@@@@@@@
@@@@@@% %%+: *@@@@@@@@@@
@@@@@@@ .. @@@@@@@@@@@
@@@@@@@# .=%%: =@@@@@@@@@@@
@@@@@@@@@@@@@# +@@@@@@@@@@@
@@@@@@@@@@@@@# @@@@@@@@@@@@
@@@@@@@@@@@@@@ @@@@@@@@@@@@
@@@@@@@@@@@@@# @@@@@@@@@@@@
@@@@@@@@@@@@@+ @@@@@@@@@@@@
@@@@@@@@@@@@@% @@@@@@@@@@@@
@@@@@@@@@@@@@@. #@@@@@@@@@@@
@@@@@@@@@@@@@@* :%@@@@@@@@@@
@@@@@@@@@@@@@@@: -@@@@@@@@@@
@@@@@@@@@@@@@@@@= %@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[09/24/2020-22:13:33] [I] Output:
0:
1:
2:
3:
4:
5:
6:
7:
8:
9: **********
&&&& PASSED TensorRT.sample_mnist # D:\Program Files\TensorRT-7.0.0.11.Windows10.x86_64.cuda-10.0.cudnn7.6\TensorRT-7.0.0.11\bin\sample_mnist.exe