TX 2上でTensorRTをインストールするSampleUffMaskRCNNサンプルプログラムをコンパイルする
3271 ワード
インストールディレクトリ主な参考URL Step 1 TX 2ブラシJetpack 4.3 Step 2 curlを再インストールhttps をサポート Step 3 TX 2アップグレードcmake Step 4 TensorRTライブラリのクローン---バージョン番号に注意! Step 5 sampleUffMaskRCNN のコンパイルを開始 Step 6 TRT推定 の開始
主な参考サイト
TensorRT Open Source Software
Step 1 TX 2ブラシJetpack 4.3
まず、Jetpack 4.3がブラシでインストールされていることを確認してください.まだインストールされていない場合は、私のブログを参照してください.mathlxjのブログ------JetsonTX 2のブラシ-Jetpack 4.3
Step 2 curlを再インストールしてhttpsをサポートする
私がstep 5を行ったとき、エラーが発生しました.
なぜならcurlはhttpsを解析できないため,以下のように解決できる.もちろん、環境によっては、このステップをスキップして、似たようなエラーが発生したら、更新に戻ることができます.まず、インストールに依存します.このステップは必須です.
次に、私のブログコンパイルインストールcurl:mathlxjのブログ------TX 2コンパイルインストールcurlを参照して、httpsを解析できるようにしてください.検証段階では、httpsが表示されなければなりません.そうしないと無効です.
Step 3 TX 2アップグレードcmake
Jetpack 4.3ブラシ後のcmakeバージョンは低すぎますが、TRTはCMake>=v 3.13を必要とします.そのため、cmake eをアップグレードする必要があります.満足すれば、スキップできます.アップグレードしていない場合は、私のブログを参照してください.mathlxjのブログ------Jetson TX 2でcmakeメソッドをアップグレードする最後の検証で次のエラーが発生した場合:
次の方法で解決できます.
もちろん、バージョン番号を変更するだけで、より高いバージョンにアップグレードすることもできます.より高いバージョン番号では、パラメータを増やしてウェブサイトのセキュリティを無視する必要がある場合があります.ヒントに従って追加すればいいです.
Step 4 TensorRTライブラリのクローン-バージョン番号に注意!
ここで特に、Jetpack 4.3はデフォルトでインストールされているTensorRTバージョンが6.0であるのに対し、github上のマスターは7.1(2020年7月25日現在)であるため、バージョン番号を選択する必要がある点はREADMEにはなく、非常にエラーが発生しやすい.
Step 5 sampleUffMaskRCNNのコンパイル開始
なお、ここでcmakeの場合はREADMEとは異なり、
同様の問題が発生していない場合は、パラメータ値がgccパスであることを無視し、次のコマンドでクエリーできます.
また、TX 2はaarch 64アーキテクチャであり、make時にアーキテクチャを指定することにも注意してください.
Step 6 TRT推定開始
私は以前TensorFlowモデルからuffモデルへの変換などの作業ができていたので、以下のコマンドを直接使用して推定することができます.
ここで、
主な参考サイト
TensorRT Open Source Software
Step 1 TX 2ブラシJetpack 4.3
まず、Jetpack 4.3がブラシでインストールされていることを確認してください.まだインストールされていない場合は、私のブログを参照してください.mathlxjのブログ------JetsonTX 2のブラシ-Jetpack 4.3
Step 2 curlを再インストールしてhttpsをサポートする
私がstep 5を行ったとき、エラーが発生しました.
error
Protocol "https" not supported or disabled in libcurl
なぜならcurlはhttpsを解析できないため,以下のように解決できる.もちろん、環境によっては、このステップをスキップして、似たようなエラーが発生したら、更新に戻ることができます.まず、インストールに依存します.このステップは必須です.
$ sudo apt-get install openssl
$ sudo apt-get install libssl-dev
次に、私のブログコンパイルインストールcurl:mathlxjのブログ------TX 2コンパイルインストールcurlを参照して、httpsを解析できるようにしてください.検証段階では、httpsが表示されなければなりません.そうしないと無効です.
Step 3 TX 2アップグレードcmake
Jetpack 4.3ブラシ後のcmakeバージョンは低すぎますが、TRTはCMake>=v 3.13を必要とします.そのため、cmake eをアップグレードする必要があります.満足すれば、スキップできます.アップグレードしていない場合は、私のブログを参照してください.mathlxjのブログ------Jetson TX 2でcmakeメソッドをアップグレードする最後の検証で次のエラーが発生した場合:
CMake Error: Could not find CMAKE_ROOT !!!
CMake has most likely not been installed correctly.
Modules directory not found in
次の方法で解決できます.
$ mv cmake-3.13.3 cmake-3.13
$ mv cmake-3.13 /usr/share/
もちろん、バージョン番号を変更するだけで、より高いバージョンにアップグレードすることもできます.より高いバージョン番号では、パラメータを増やしてウェブサイトのセキュリティを無視する必要がある場合があります.ヒントに従って追加すればいいです.
Step 4 TensorRTライブラリのクローン-バージョン番号に注意!
$ cd Downloads
$ git clone -b release/6.0 https://github.com/NVIDIA/TensorRT.git TensorRT
$ cd TensorRT/
$ git submodule update --init --recursive
ここで特に、Jetpack 4.3はデフォルトでインストールされているTensorRTバージョンが6.0であるのに対し、github上のマスターは7.1(2020年7月25日現在)であるため、バージョン番号を選択する必要がある点はREADMEにはなく、非常にエラーが発生しやすい.
Step 5 sampleUffMaskRCNNのコンパイル開始
$ export TRT_SOURCE=`pwd`
$ mkdir -p build && cd build
$ cmake .. -DTRT_LIB_DIR=$TRT_RELEASE/lib -DTRT_BIN_DIR=`pwd`/out -D CMAKE_C_COMPILER="/usr/bin/gcc"
$ make sample_uff_maskRCNN -j$(nproc) TARGET=aarch64
なお、ここでcmakeの場合はREADMEとは異なり、
-D CMAKE_C_COMPILER="/usr/bin/gcc
が追加されています.これは、私がインストールしたタイムズで次のように間違っていたためです.-- The C compiler identification is unknown
CMake Error at CMakeLists.txt:12 (project):
No CMAKE_C_COMPILER could be found.
Tell CMake where to find the compiler by setting either the environment
variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
the compiler, or to the compiler name if it is in the PATH
同様の問題が発生していない場合は、パラメータ値がgccパスであることを無視し、次のコマンドでクエリーできます.
$ where is gcc
また、TX 2はaarch 64アーキテクチャであり、make時にアーキテクチャを指定することにも注意してください.
Step 6 TRT推定開始
私は以前TensorFlowモデルからuffモデルへの変換などの作業ができていたので、以下のコマンドを直接使用して推定することができます.
$ cd out
$ ./sample_uff_maskRCNN -d ~/Downloads/Mask_RCNN/data
ここで、
~/Downloads/Mask_RCNN/datamrcnn
はmrcnn_nchw.pbtx
、mrcnn_nchw.uff
、 ppm
のディレクトリです.必要があれば、次のメッセージを残して、後期にモデルを変換する具体的なチュートリアルを出すことができます.