TX2上编译安装TensorRT的SampleUffMaskRCNN示例程序

安装目录

  • 主要参考网址
  • Step1 TX2刷机Jetpack 4.3
  • Step2 重装curl以支持https
  • Step3 TX2升级cmake
  • Step4 克隆TensorRT库---注意版本号!
  • Step5 开始编译sampleUffMaskRCNN
  • Step6 开始进行TRT推断

主要参考网址

TensorRT Open Source Software

Step1 TX2刷机Jetpack 4.3

首先,请确保已经刷机安装Jetpack 4.3, 如果还没有安装,可以参考我的博客。
mathlxj的博客-------JetsonTX2 之刷机 ——Jetpack 4.3

Step2 重装curl以支持https

在我进行step5时,出现报错

error
Protocol "https" not supported or disabled in libcurl

原因是curl无法解析https,可以采取如下方式解决。当然,不同的环境情况不同,你可以先跳过这一步,如果出现相似的报错,再返回更新。
首先,安装依赖,这一步是必须的:

$ sudo apt-get install openssl
$ sudo apt-get install libssl-dev

然后,可以参考我的博客编译安装curl:
mathlxj的博客-------TX2编译安装curl,使其可以解析https.
请注意,在验证阶段,必须出现https,否则是无效的。

Step3 TX2升级cmake

Jetpack 4.3刷机后的cmake版本太低,而TRT需要CMake >= v3.13,因此需要升级cmake.
如果已满足,可以跳过。如果未升级,可参考我的博客。
mathlxj的博客-------Jetson TX2上升级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/

当然,你也可以升级为更高版本,只需要修改版本号即可。更高的版本号可能需要增加参数忽略网址安全性,根据提示增加即可。

Step4 克隆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上master是7.1的(截止到2020年7月25日),因此需要选择版本号,这点在README中没有,极易出错。

Step5 开始编译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

同时,也要注意TX2为aarch64架构,在make时要指定架构。

Step6 开始进行TRT推断

由于我之前已经做好了TensorFlow模型到uff模型的转换等工作,因此直接使用以下命令即可进行推断。

$ cd out
$ ./sample_uff_maskRCNN -d ~/Downloads/Mask_RCNN/data

这里,~/Downloads/Mask_RCNN/datamrcnnmrcnn_nchw.pbtx,mrcnn_nchw.uff要推断的ppm图像目录.
如果有需要,可以在下面留言,后期可以出个转换模型的具体教程。

你可能感兴趣的:(TensorRT,Jetson,TX2,TensorRT,TX2,UffMaskRCNN,TX2部署TRT,TX2运行TRTdemo)