TX 2上でTensorRTをインストールするSampleUffMaskRCNNサンプルプログラムをコンパイルする


インストールディレクトリ
  • 主な参考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を行ったとき、エラーが発生しました.
    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/datamrcnnmrcnn_nchw.pbtxmrcnn_nchw.uff ppm のディレクトリです.必要があれば、次のメッセージを残して、後期にモデルを変換する具体的なチュートリアルを出すことができます.