注:如需要文章中提到的相关文件,请联系qq1625903738
1.根据网上大佬的推荐,这里使用Archiconda,与Anaconda功能类似。下载链接https://github.com/Archiconda/build-tools/releases/download/0.2.3/Archiconda3-0.2.3-Linux-aarch64.sh
2.安装Archiconda,过程中都yes即可。
sh Archiconda3-0.2.3-Linux-aarch64.sh
3.创建一个名为“demo”的虚拟环境,并进入。
conda create -n demo python=3.6.9conda activate demo
4.安装一些需要的包
pip install Cython numpy==1.18.5 Pillow PyYAML==5.4.1 scipy==1.5.4 tensorboard==1.15.0pip install matplotlib
5.导入opencv包,参考大佬的教程。找到 /usr/lib/python3.6/dist-packages/cv2/python-3.6路径下的cv2.cpython-36m-aarch64-linux-gnu.so文件,复制到路径/home/cug/archiconda3/envs/demo/lib/python3.6文件夹下即可。
6.下面下载、安装pytorch。下载链接,然后安装即可:
pip install torch-1.7.0-cp36-cp36m-linux_aarch64.whl
7.下载安装torchvision。如果报错的话,看看是不是和这个一样,我遇到了。还有一问题。参照这个网址进行安装。下面的命令行有点问题。
git clone -b v0.8.1 https://github.com/pytorch/vision.git vision-0.8.1cd vision-0.8.1sudo /home/cug/archiconda3/envs/demo/bin/python3.6 setup.py install
8.安装剩下的包
pip install tqdm==4.58.0 seaborn==0.11.1 pandas thop pycocotools==2.0.2
9.下面导入tensorrt。参考了同一个大佬的做法。与opencv的导入相同。将路径 /usr/lib/python3.6/dist-packages/ 下关于TensorRT的文件夹,复制到自己所创建环境的site-packages文件夹下。
10.安装一下pycuda,如果很卡的话,可以等一会,先去吃个饭。
至此,环境搭建基本上就ok了,如果有报错建议复制错误提示,百度一下即可。pip list一下,可以检查一下。
1.下载,建议使用v5.0。
git clone -b v5.0 https://github.com/ultralytics/yolov5.git git clone -b yolov5-v5.0 https://github.com/wang-xinyu/tensorrtx.git
2.生成wts文件,生成engine文件
(1)将yolov5s.pt权重文件复制到yolov5工程下。
(2)复制tensorrtx/yolov5文件夹下的gen_wts.py文件到yolov5工程下。
(3)进入yolov5工程文件夹下,输入:
python gen_wts.py -w yolov5s.pt -o yolov5s.wts
然后会看到有个.wts文件。
(4)首先在tensorrtx下的yolov5下建一个叫build的文件夹,然后将上面生成的.wts文件复制到build文件夹中,在build中打开终端输入:
cmake ..makesudo ./yolov5 -s yolov5s.wts yolov5s.engine s
然后会看到生成了一个.engine的文件,即引擎文件。
3.验证能不能用
这里首先上图片检测。在yolov5_trt.py所在的文件夹中打开终端,首先激活虚拟环境,然后运行。
conda activate yolov5envpython yolov5_trt.py
到这基本上就ok了,参考了大佬的博客折腾了两天,这里就是简单总结一下,方便以后自己回顾。后面,我还做了无人机视频的推拉流和检测,涉及到了docker镜像的使用。如果大家有任何问题,可以留言。,最后,感谢大佬!如有侵权,请联系删除。
参考:
大佬博客
大佬博客