## Installation¶

### No C++17 Compiler(Linux)?¶

• Using apt as your package manager?

• Install from ppa.

• Otherwise

• Build a C++17 compiler from source.

### Build without examples/tests?¶

cmake .. -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF


Refer to here.

## Prediction¶

### TensorRT Error?¶

• See the tensorrt.log. (it contains more informations about logging and is located in where you execute the binary)

• You may meet ERROR: Tensor image cannot be both input and output when using the TinyVGG-V1-HW=256x384.uff model. And just ignore it.

### Performance?¶

• Usually the 1st try of execution(cold start) on small amount of data tends to be slow. You can use a longer video/more images to test the performance(or run it more than once).

• The performance is mainly related to the followings(you can customize the followings):

• The complexity of model(not only FLOPS but also parameter numbers): smaller is usually better.

• The model network resolution(alse see here): smaller is better.

• Batch size: bigger is faster(higher throughput). (For details, you can refer to Shen’s dissertation)

• The input / output size(this mainly involves in the speed of cv::resize): smaller is better.

• The upsampling factor of the feature map when doing post processing: smaller is better. (By default the PAF parser will upsample the feature map by 4x. We did this according to the Lightweight-OpenPose paper.)

• Use better hardware(Good CPUs can make the post-processing faster!).

• Use SIMD instructions of your CPU. (Compile OpenCV from source and enable the instruction sets in cmake configuration)