Series
- Part 1: install and configure tensorrt 4 on ubuntu 16.04
- Part 2: tensorrt fp32 fp16 tutorial
- Part 3: tensorrt int8 tutorial
Guide
version
- ubuntu 16.04 (14.04,16.04 only) not support Windows
CUDA 8.0(8.0,9.0,9.2 only)- CUDA 9.2
- cudnn 7.1.4 (7.1 only)
- TensorRT 4.0.1.6
- TensorFlow-gpu v1.4+
- python: 3.5.2 (2.7 or 3.5)
TensorRT support matrix
4.0.1.6
5.0.2.6
hardware precision matrix
hardware precision support matrix
ubuntu
- GeForce 1060 (fp32,int8) no fp16
jetson products
- Jetson TX1 (fp32,fp16)
- Jetson TX2 (fp32,fp16)
- Jetson AGX Xavier (fp32,fp16,int8,dla)
- Jetson Nano (Jetbot)
install
download and install
download TensorRT-4.0.1.6.Ubuntu-16.04.4.x86_64-gnu.cuda-8.0.cudnn7.1.tar.gz
from here
1 | tar zxvf TensorRT-4.0.1.6.Ubuntu-16.04.4.x86_64-gnu.cuda-8.0.cudnn7.1.tar.gz |
Updates: from cuda-8.0 ===> cuda-9.2. download
TensorRT-4.0.1.6.Ubuntu-16.04.4.x86_64-gnu.cuda-9.2.cudnn7.1.tar.gz
from here
add lib to path
1 | sudo vim /etc/ld.so.conf.d/tensorrt |
or
1 | vim ~/.bashrc |
python package
1 | cd /opt/tensorrt/python |
or
1 | cd /opt/tensorrt/python |
uff package
1 | cd /opt/tensorrt/uff |
folder structure
include
1 | tree include/ |
lib
1 | ls -al *.4.1.2 |
bin
1 | tree bin |
sample
add envs
1 | vim ~/.bashrc |
compile all
1 | cd samples/ |
generate all sample_xxx to bin/ folder.
compile sampleMNIST
1 | cd samples/sampleMNIST |
error occurs
dpkg-query: no packages found matching cuda-cudart-[0-9]*
../Makefile.config:6: CUDA_INSTALL_DIR variable is not specified, using /usr/local/cuda- by default, use CUDA_INSTALL_DIR=<cuda_directory> to change.
../Makefile.config:9: CUDNN_INSTALL_DIR variable is not specified, using by default, use CUDNN_INSTALL_DIR=<cudnn_directory> to change.
fix solutions:
1 | vim ~/.bashrc |
make again
:
:
Compiling: sampleMNIST.cpp
Compiling: sampleMNIST.cpp
Linking: ../../bin/sample_mnist
Linking: ../../bin/sample_mnist_debug
# Copy every EXTRA_FILE of this sample to bin dir
test sample_mnist
./sample_mnist
Reading Caffe prototxt: ../../../data/mnist/mnist.prototxt
Reading Caffe model: ../../../data/mnist/mnist.caffemodel
Input:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@%.:@@@@@@@@@@@@
@@@@@@@@@@@@@: *@@@@@@@@@@@@
@@@@@@@@@@@@* =@@@@@@@@@@@@@
@@@@@@@@@@@% :@@@@@@@@@@@@@@
@@@@@@@@@@@- *@@@@@@@@@@@@@@
@@@@@@@@@@# .@@@@@@@@@@@@@@@
@@@@@@@@@@: #@@@@@@@@@@@@@@@
@@@@@@@@@+ -@@@@@@@@@@@@@@@@
@@@@@@@@@: %@@@@@@@@@@@@@@@@
@@@@@@@@+ +@@@@@@@@@@@@@@@@@
@@@@@@@@:.%@@@@@@@@@@@@@@@@@
@@@@@@@% -@@@@@@@@@@@@@@@@@@
@@@@@@@% -@@@@@@#..:@@@@@@@@
@@@@@@@% +@@@@@- :@@@@@@@
@@@@@@@% =@@@@%.#@@- +@@@@@@
@@@@@@@@..%@@@*+@@@@ :@@@@@@
@@@@@@@@= -%@@@@@@@@ :@@@@@@
@@@@@@@@@- .*@@@@@@+ +@@@@@@
@@@@@@@@@@+ .:-+-: .@@@@@@@
@@@@@@@@@@@@+: :*@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Output:
0:
1:
2:
3:
4:
5:
6: **********
7:
8:
9:
Sample
compile all samples
1 | cd sample |
sample_mnist
see above. skip.
1 | ldd sample_mnist |
libnvinfer.so, libnvparsers.so, libcudart.so, libcudnn.so, libcublas.so
sample_onnx_mnist
./sample_onnx_mnist
---------------------------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@%.-@@@@@@@@@@@
@@@@@@@@@@@*- %@@@@@@@@@@
@@@@@@@@@@= .-. *@@@@@@@@@@
@@@@@@@@@= +@@@ *@@@@@@@@@@
@@@@@@@@* =@@@@ %@@@@@@@@@@
@@@@@@@@..@@@@% @@@@@@@@@@@
@@@@@@@# *@@@@- @@@@@@@@@@@
@@@@@@@: @@@@% @@@@@@@@@@@
@@@@@@@: @@@@- @@@@@@@@@@@
@@@@@@@: =+*= +: *@@@@@@@@@@
@@@@@@@*. +@: *@@@@@@@@@@
@@@@@@@@%#**#@@: *@@@@@@@@@@
@@@@@@@@@@@@@@@: -@@@@@@@@@@
@@@@@@@@@@@@@@@+ :@@@@@@@@@@
@@@@@@@@@@@@@@@* @@@@@@@@@@
@@@@@@@@@@@@@@@@ %@@@@@@@@@
@@@@@@@@@@@@@@@@ #@@@@@@@@@
@@@@@@@@@@@@@@@@: +@@@@@@@@@
@@@@@@@@@@@@@@@@- +@@@@@@@@@
@@@@@@@@@@@@@@@@*:%@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Prob 0 0.00000:
Prob 1 0.00001:
Prob 2 0.00002:
Prob 3 0.00003:
Prob 4 0.00044:
Prob 5 0.00005:
Prob 6 0.00006:
Prob 7 0.00007:
Prob 8 0.00008:
Prob 9 0.99969: **********
sample_uff_mnist
../../../data/mnist/lenet5.uff
---------------------------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@%.-@@@@@@@@@@@
@@@@@@@@@@@*- %@@@@@@@@@@
@@@@@@@@@@= .-. *@@@@@@@@@@
@@@@@@@@@= +@@@ *@@@@@@@@@@
@@@@@@@@* =@@@@ %@@@@@@@@@@
@@@@@@@@..@@@@% @@@@@@@@@@@
@@@@@@@# *@@@@- @@@@@@@@@@@
@@@@@@@: @@@@% @@@@@@@@@@@
@@@@@@@: @@@@- @@@@@@@@@@@
@@@@@@@: =+*= +: *@@@@@@@@@@
@@@@@@@*. +@: *@@@@@@@@@@
@@@@@@@@%#**#@@: *@@@@@@@@@@
@@@@@@@@@@@@@@@: -@@@@@@@@@@
@@@@@@@@@@@@@@@+ :@@@@@@@@@@
@@@@@@@@@@@@@@@* @@@@@@@@@@
@@@@@@@@@@@@@@@@ %@@@@@@@@@
@@@@@@@@@@@@@@@@ #@@@@@@@@@
@@@@@@@@@@@@@@@@: +@@@@@@@@@
@@@@@@@@@@@@@@@@- +@@@@@@@@@
@@@@@@@@@@@@@@@@*:%@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
10 eltCount
--- OUTPUT ---
0 => -2.75228 :
1 => -1.51534 :
2 => -4.11729 :
3 => 0.316925 :
4 => 3.73423 :
5 => -3.00593 :
6 => -6.18866 :
7 => -1.02671 :
8 => 1.937 :
9 => 14.8275 : ***
Average over 10 runs is 0.0843257 ms.
sample_mnist_api
./sample_mnist_api
Loading weights: ../../../data/mnist/mnistapi.wts
Input:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@+ @@@@@@@@@@@@@@
@@@@@@@@@@@@. @@@@@@@@@@@@@@
@@@@@@@@@@@@- @@@@@@@@@@@@@@
@@@@@@@@@@@# @@@@@@@@@@@@@@
@@@@@@@@@@@# *@@@@@@@@@@@@@
@@@@@@@@@@@@ :@@@@@@@@@@@@@
@@@@@@@@@@@@= .@@@@@@@@@@@@@
@@@@@@@@@@@@# %@@@@@@@@@@@@
@@@@@@@@@@@@% .@@@@@@@@@@@@@
@@@@@@@@@@@@% %@@@@@@@@@@@@
@@@@@@@@@@@@% %@@@@@@@@@@@@
@@@@@@@@@@@@@= +@@@@@@@@@@@@
@@@@@@@@@@@@@* -@@@@@@@@@@@@
@@@@@@@@@@@@@* @@@@@@@@@@@@
@@@@@@@@@@@@@@ @@@@@@@@@@@@
@@@@@@@@@@@@@@ *@@@@@@@@@@@
@@@@@@@@@@@@@@ *@@@@@@@@@@@
@@@@@@@@@@@@@@ *@@@@@@@@@@@
@@@@@@@@@@@@@@ *@@@@@@@@@@@
@@@@@@@@@@@@@@* @@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Output:
0:
1: **********
2:
3:
4:
5:
6:
7:
8:
9:
sample_int8
./sample_int8 mnist
FP32 run:400 batches of size 100 starting at 100
........................................
Top1: 0.9904, Top5: 1
Processing 40000 images averaged 0.00332707 ms/image and 0.332707 ms/batch.
FP16 run:400 batches of size 100 starting at 100
Engine could not be created at this precision
INT8 run:400 batches of size 100 starting at 100
........................................
Top1: 0.9909, Top5: 1
Processing 40000 images averaged 0.00215323 ms/image and 0.215323 ms/batch.
Reference
- TensorRT developer guide
- TensorRT install guide
- speed-up-inference-tensorrt
- large-scale-object-detection-tensorrt
- int8-inference-autonomous-vehicles-tensorrt
- tensorrt api
tensorrt-support-matrix
History
- 20180907: created.
- 20181119: add tensorrt-5.0.