一、tensorrtx
编译步骤:
mkdir build
cd build
cmake ..
make // /workspace/tensorrt_release/include# cp -r NvInfer.h /usr/local/include/tensorrt/ ***
sudo ./yolov5 -s // serialize model to plan file i.e. 'yolov5s.engine'
sudo ./yolov5 -d ../samples // deserialize plan file and run inference, the images in samples will be processed.
make时遇到问题:
CMake Error: The current CMakeCache.txt directory /workspace/tensorrtx/yolov5/build/CMakeCache.txt is different than the directory /home/zbsj2/projects/deploy/tensorrtx/yolov5/build where CMakeCache.txt was created. This may result in binaries being created in the wrong place. If you are not sure, reedit the CMakeCache.txt
CMakeCache.txt之前编译时留下的缓存,应该把build删掉重新mdir build 编译。
二、tensorrtx
make时:
/workspace/tensorrtx/yolov5/yololayer.h:6:10: fatal error: NvInfer.h: No such file or directory
#include "NvInfer.h"
需要把tensorrt release版本下的include添加到系统环境变量
/workspace/tensorrt_release/include# cp -r NvInfer.h /usr/local/include/tensorrt/
三、tensorrtx
make时:
Linking CXX shared library libmyplugins.so
/usr/bin/ld: cannot find -lnvinfer
collect2: error: ld returned 1 exit status
问题:系统环境变量缺少对应的lib
/workspace/tensorrt_release/lib# cp -r libnvinfer.so /usr/local/lib
四、tensorrtx编译完产物:
得到生成的 libmyplugins.so yolov5
五、yolov5s.engine
执行命令sudo ./yolov5 -s 时报错:./yolov5: error while loading shared libraries: libmyelin.so.1: cannot open shared object file: No such file or directory
同样的道理,没有把对应的静态库添加到系统环境变量
解决:cp lib
得到产物yolov5s.engine:
六、images
执行 sudo ./yolov5 -d ../samples 时得到检测后的两张图 时:
报错:read_files_in_dir failed.
解决:将原图目录samples 放到build 同级目录。
七、mnist例子
跑tensorrt_release 下面的mnist例子
报错:
root@65c48c6dc77c:/workspace/tensorrt_release/data/mnist# python3 ./download_pgms.py
Traceback (most recent call last):
File "./download_pgms.py", line 2, in <module>
from PIL import Image
ModuleNotFoundError: No module named 'PIL'
解决:pip install pillow
通过运行生成的 sample_mnist 文件就可以测试TensorRT是否正确的编译安装了。但是运行前需要先下载mnist数据。完成的操作如下:
# 进入下载mnist数据脚本所在的目录
cd $TRT_RELEASE/data/mnist
# 运行下载mnist数据的脚本
python3 ./download_pgms.py
# 进入sample_mnist 所在的目录
cd $TRT_RELEASE/bin
# 运行sample_mnist
./sample_onnx_mnist
如下图所示: