Frequently Asked Questions¶
Installation¶
No C++17 Compiler(Linux)?¶
Using
aptas your package manager?Install from
ppa.Helpful link: LINK.
Otherwise
Build a C++17 compiler from source.
Build without examples/tests?¶
cmake .. -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF
Build OpenCV from source?¶
Refer to here.
Network problem when installing the test models/data from the command line?¶
Download them manually:
All prediction models are available on Google Drive.
The test data are taken from the OpenPose Project.
Training¶
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 outputwhen using theTinyVGG-V1-HW=256x384.uffmodel. 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)