烏班図18.04 tensorRT取付ピット


完全なインストールチュートリアルは文末に、ここでまずエラーメッセージを示します:ネット上で与えられたチュートリアルに基づいて、烏班図の下でcuda 9をインストールしました.0およびtensorRTでは、エラーが次のように検出されました.
sudo apt-get install tensorrt

エラー:
              :
 tensorrt :   : libnvinfer5 (= 5.0.2-1+cuda9.0)          
              : libnvinfer-dev (= 5.0.2-1+cuda9.0)          
              : libnvinfer-samples (= 5.0.2-1+cuda9.0)          
E:       ,              ,                。

libnvinfer 5がインストールされていないかどうかを考えました.再実行:
sudo aptitude install libnvinfer5

結果は依然として間違っています.
libnvinfer5 :   : cuda-cublas-9-0 which is a virtual package and is not provided by any available package

えっ?!実行nvcc -V労使のcudaはインストールに成功したのではないでしょうか.なぜcuda-cublasが欠けているのか?!
ソリューション:ネット上のほとんどのチュートリアルは別々で、tensorRTをインストールするにはdebパッケージをインストールする場合、CUDAもdebパッケージをインストールする必要があります.(ネットワーク上のCUDAのインストールチュートリアルの大部分はrunファイルのインストールを採用しています)

完全なインストール手順:


1.CUDAをインストールします.注意:ここではtensorRTのCUDAバージョン番号(tensorRTは10.0と9.0に依存しますが、CUDA公式サイトでは10.1と9.1が推奨されていますので、CUDAの履歴バージョンを選択してインストールする必要があります)を見ます.ここでは9.0バージョンのCUDAをインストールすることを選択します.アドレスに入りますhttps://developer.nvidia.com/cuda-toolkit-archiveCUDAバージョンを選択自分のハードウェアによって異なるバージョン番号をダウンロードし、Installer Typeで「deb(local)」を選択すると、公式に提供されたドキュメントに従ってインストールできます:Installation Instructions:sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb sudo apt-key add /var/cuda-repo-/7fa2af80.pub sudo apt-get update sudo apt-get install cuda再インストールPatch 1、注意、Patch 1をインストールする場合は上記のコマンドと同様に、最後のコマンドは以下のように変更されます.
sudo apt-get install cuda-libraries-9-0

次に、コマンドnvcc -Vを再度実行することにより、CUDAのインストール状況を表示することができる.
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176

このときcuDNNをインストールし、cuDNNのバージョン番号がCUDAのバージョン番号と一致することに注意します:アドレス:https://developer.nvidia.com/rdp/cudnn-archive上记のバージョン番号の対応関系は间违わないでください(自分で1つの英伟达のアカウントを登录する必要があって、tensorRTの下で同じです)ダウンロードが完成した后に、解凍して、1つのcudaというフォルダの実行命令を得ることができます:
sudo cp cuda/include/cudnn.h    /usr/local/cuda/include      
sudo cp cuda/lib64/libcudnn*    /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h  /usr/local/cuda/lib64/libcudnn*

この時点でcuDNNのインストールが完了しました.次にtensorRTをインストールします:アドレスをダウンロードします:https://developer.nvidia.com/nvidia-tensorrt-5x-download対応するバージョンを選択すればいい(tensorRT依存のCUDAバージョン番号はインストールしたばかりのバージョン番号と同じであることに注意)私が選択したのは「Debian and RPM Install Packages」インストール方式で、debファイルをダウンロードした後、Linuxコマンドを実行します:
sudo dpkg -i nv-tensorrt-repo-ubuntu1x04-cudax.x-trt5.x.x.x-ga-yyyymmdd_1-1_amd64.deb
sudo apt-key add /var/nv-tensorrt-repo-cudax.x-trt5.x.x.x-ga-yyyymmdd/7fa2af80.pub
sudo apt-get update
sudo apt-get install tensorrt

エラーが発生したり依存が欠けたりしていない場合は、インストールが完了します.インストールが完了したかどうかを確認します.
dpkg -l | grep TensorRT

結果を表示:
ii  graphsurgeon-tf                                            5.0.2-1+cuda9.0                              amd64        GraphSurgeon for TensorRT package
ii  libnvinfer-dev                                             5.0.2-1+cuda9.0                              amd64        TensorRT development libraries and headers
ii  libnvinfer-samples                                         5.0.2-1+cuda9.0                              all          TensorRT samples and documentation
ii  libnvinfer5                                                5.0.2-1+cuda9.0                              amd64        TensorRT runtime libraries
ii  tensorrt                                                   5.0.2.6-1+cuda9.0                            amd64        Meta package of TensorRT
ii  uff-converter-tf                                           5.0.2-1+cuda9.0                              amd64        UFF converter for TensorRT package

出力がなければインストールに失敗したことを説明します.以上がtensorRT C++インタフェースのすべてのインストール手順です.
Pythonインタフェースをインストールする場合は、公式ドキュメントに従って、Python 2を使用する場合にコマンドを実行します.7では、次のことが実行されます.
sudo apt-get install python-libnvinfer-dev

Python 3を使用している場合.x実行してください:
sudo apt-get install python3-libnvinfer-dev

tensorflowをサポートする必要がある場合は、次の手順に従います.
sudo apt-get install uff-converter-tf

通常の状況(公式のインストールドキュメント)に従ってインストールはこれで終わります.Python IDEを使ってimportに行くことができます.emm...しかし、私がインストールしたときだけ、正常ではありません.import tensorrtはエラーを表示します.
ImportError: No module named tensorrt
麻卵、どうしてこのモジュールがなくて、私は明らかにインストールしたのに、そこで振り回された後、私は解決策を見つけました:住所に入ります:https://developer.nvidia.com/nvidia-tensorrt-5x-downloadはい、依然として英偉達のtensorRTのダウンロードアドレスです
Tar File Install Packagesディレクトリを見つけてクリック:TensorRT 5.0.2.6 GA for Ubuntu 16.04 and CUDA 9.0 tar packageダウンロード(自分の実際のバージョンによる)
ダウンロードが終わったらインストールしないでください.インストールができているからです.アーカイブマネージャで解凍を開くだけです.
cd TensorRT-5.0.2.6/python
pip install tensorrt-5.0.2.6-py2.py3-none-any.whl

tensorflowサポートをインストールする必要がある場合は、次の手順に従います.
cd ..
cd uff
pip install uff-0.5.5-py2.py3-none-any.whl

インストール完了OKを待って、ここまで来れば楽しいimportになります~
更新:uffモジュールを使用してtensorflowのpbモデルを変換すると、エラーが表示されます.
ImportError: ERROR: Failed to import module (No module named graphsurgeon) Please make sure you have graphsurgeon installed. For installation instructions, see: https://docs.nvidia.com/deeplearning/sdk/tensorrt-api/#python and click on the ‘TensoRT Python API’ link
ヒントgraphsurgeonモジュールがインストールされていません.
この場合、tensorRT tarパッケージが解凍されたディレクトリに入り、コマンドを実行する必要があります.
cd TensorRT-5.0.2.6/graphsurgeon
pip install graphsurgeon-0.3.2-py2.py3-none-any.whl 
convert-to-uffを再実行すればエラーは発生しません