Jetson Nano踩坑记录贴——yolov5、TensorRT
在第三篇文章的基础上安装(跳过tensorflow的安装)
若因为安装了tensorflow报错的话使用sudo pip3 uninstall tensorfow
卸载
一、安装依赖库
安装requirement里的所需要的环境,按需下载
sudo apt-get install liblapack-dev
sudo apt-get install libblas-dev
sudo apt-get install gfortran
sudo pip3 install scipy
sudo pip3 install matplotlib==3.2.2
#接着安装剩下的包
sudo pip3 install pillow pyyaml tensorboard tqdm
#plotting
sudo pip3 install seaborn==0.11.0(会自动安装pandas)
#export
sudo pip3 install coremltools==4.1
#安装onnx需要protobuf编译器
sudo apt-get install protobuf-compiler libprotoc-dev
sudo pip3 install onnx==1.9.0
#for coreml quantization
sudo pip3 install scikit-learn==0.19.2
#extras
sudo pip3 install pycocotools==2.0
二、TensorRT加速
首先在pc上训练出pt模型
sudo pip3 install pycuda
git clone https://github.com/wang-xinyu/tensorrtx.git
将tensorrtx/yolov5路径下的gen_wts.py复制到原来的yolov5文件夹下,执行gen_wts.py生成.wts文件,推荐将pt文件修改为yolov5s.pt,否则记得修改。
python3 gen_wts.py yolov5s.pt
接下来的步骤直接搬运的tensorrtx官方教程,在nano上执行。
#5、接下来去到目录tensorrtx下的yolov5文件夹
#老规矩,创建一个build文件,并生成生成makeFile
mkdir build
cd build
cmake ..
#6、将yololayer.h里的CLASS_NUM修改成你的。因为官方用的是coco数据集,所以默认是80。改成自己的分类数即可。
#7、执行makeFile。(每次修改为CLASS_NUM都要make一次)
make
#8、将生成的.wts文件复制到tensorrtx/yolov5里。
#9、在build目录下执行以下指令生成.engine文件(我用的是yolov5s,所以结尾用s)
sudo ./yolov5 -s ../yolov5s.wts yolov5s.engine s
如果你训练时是自定义depth_multiple 和 width_multiple就这样写:
sudo ./yolov5 -s ../yolov5.wts yolov5.engine c 0.17 0.25
在tensorrtx 5.0里也更新了yolov5的P6模型:
sudo ./yolov5 -s ../yolov5.wts yolov5.engine s6
#10、用他自带的图片(在samples里有两张图片)测试一下
sudo ./yolov5 -d yolov5s.engine ../samples