赞
踩
yolov5 部署jetson nano(通用) 保姆级教学_奶茶不加冰的博客-CSDN博客_jetson nano yolov5
同时参照了
https://blog.csdn.net/qq_40630902/article/details/118356845
https://download.csdn.net/download/chencaw/86721598
2.1torchvision安装过程中的出错
我在Jetson nano上安装torchvision
的时候报错(torchvision依赖pillow库):The headers or library files could not be found for jpeg,
sudo apt-get install libjpeg-dev zlib1g-dev
2.2torchvision SyntaxError: future feature annotations is not defined出错
pip install pillow==8.4.0
参考了
3/安装yolo5依赖的注意事项
好像matplotlib的版本有问题,所以
(1)
pip install matplotlib==3.2.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
(2)安装yolo5的其它依赖
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
参考了
第三章 Jetson Nano 虚拟环境中使用PyQt5及TensorRT_时光机器人的博客-CSDN博客_jetson nano tensorrt安装
TensorRT系统安装路径为:/usr/lib/python3.6/dist-packages/tensorrt/
执行以下命令,建立虚拟环境对应的软链接
ln -s /usr/lib/python3.6/dist-packages/tensorrt* /home/chen/archiconda3/envs/chenyolo_cp36/lib/python3.6/site-packages/
- >>> import tensorrt
- >>> tensorrt.__version__
(3)安装onnx
1)添加依赖
sudo apt-get install protobuf-compiler libprotoc-dev
2)安装
- pip install onnx=1.9.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
-
- -----------------------------
- 以下不用
- ---------------------------
-
- 如果不行
- pip install onnx=1.4.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
- 如果不行
- pip install onnx -i https://pypi.tuna.tsinghua.edu.cn/simple
(4)在yolov5下面转换模型并使用
1)转换
FP16精度,记得加上 --half
python export.py --weights weights/yolov5n-seg.pt --include engine --device 0
如果不加,则
python export.py --weights weights/yolov5n-seg.pt --include engine --device 0
2)使用
python segment/predict.py --weights weights/yolov5n-seg.engine --source 0 --device 0
--------------------------------------------------------------------------------------------------
上面的方法加速后在nano上速度只有下面方法的50%,考虑到速度还是要用下面的.
经过测试发现,下面的方法要快一些。上面的方法45ms每帧,下面的方法33ms每帧
上面的方法占用内存多了2个多G,以后还要优化
(0)下面的方法seg还有问题,上面方法seg采用-half产生模型可以给下面的方法直接调用
- #(1)上面的方法产生模型
- python export.py --weights weights/yolov5n-seg.pt --include engine --device 0 --half
-
- #(2)下面的方法直接调用
- python yolov5_trt_seg_XXX.py
(1)上面的方法使用--half参数后应该和下面的方法一样的速度
(2)下面的方法默认是FP16
(3)下面的测试方法
- (1)#yolov5,目录下面,修改文件参数
- python yolov5_trt.py
- (2)#yolov5的build目录下面
- sudo ./yolov5 -d yolov5n.engine ../images
-------------------------------------------------------------------------------------------------
参考了
https://www.jianshu.com/p/e9b77e1e1a19
(1)安装所需要用到的库和环境依赖
- sudo apt-get install build-essential make cmake cmake-curses-gui
- sudo apt-get install git g++ pkg-config curl
- sudo apt-get install libatlas-base-dev gfortran libcanberra-gtk-module libcanberra-gtk3-module
- sudo apt-get install libhdf5-serial-dev hdf5-tools
- sudo apt-get install nano locate screen
-
- sudo apt-get install libfreetype6-dev
- sudo apt-get install protobuf-compiler libprotobuf-dev openssl
- sudo apt-get install libssl-dev libcurl4-openssl-dev
- sudo apt-get install cython3
-
- sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
- sudo apt-get install libxvidcore-dev libavresample-dev
- sudo apt-get install libtiff-dev libjpeg-dev libpng-dev
(2)环境依赖配置好以后安装pycuda
注意指定版本好了
- pip install pycuda==2020.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
- 或者
- pip install pycuda==2019.1.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
-
下面的可能会出错
pip3 install pycuda
(3)获取tensorrt开源库
git clone https://github.com/wang-xinyu/tensorrtx.git
(4)进入到tensorrtx目录
- cd ~/tensorrtx/yolov5/
- 如果是手动下载的则使用:
- cd ~/tensorrtx-master/yolov5/
(5) 根据自己的情况修改yololayer.h
和yolov5.cpp
例如在yololayer.h修改检测类别数和输入图像尺寸,注意类别的修改
- static constexpr int CLASS_NUM = 80; // 类别种类
- static constexpr int INPUT_H = 640; // 输入图像的高
- static constexpr int INPUT_W = 640; // 输入图像的宽
(6)创建build
目录并进入,注意还是在/tensorrtx/yolov5/目录下
- mkdir build
- cd build
(7)编译
- cmake ..
-
- make -j4
(1)生成.wts
文件
将/tensorrtx/yolov5/
中的gen_wts.py
复制到yolov5项目的根目录下。自己手动复制
- 在终端中执行:
- python3 gen_wts.py -w yolov5s.pt -o yolov5s.wts
- -w:训练好的yolov5模型的路径
- -o:输出的 .wts 文件路径
(2)生成engine
文件
将上一步生成的.wts
文件放入/tensorrtx/yolov5/build/
目录下,在终端中执行
- sudo ./yolov5 -s [.wts] [.engine] [n/s/m/l/x/n6/s6/m6/l6/x6 or c/c6 gd gw]
-
- 以yolov5s模型为例:
- sudo ./yolov5 -s yolov5s.wts yolov5s.engine s
自己的例子
- sudo ./yolov5 -s yolov5n-seg.wts yolov5n-seg.engine n
- 或在
- sudo ./yolov5 -s yolov5s.wts yolovs.engine s
-
- 注意第一个参数都是s,后面的根据实际模型来
(3)测试
- sudo ./yolov5 -d [.engine] [image folder]
-
- 例:
- sudo ./yolov5 -d yolov5s.engine ../samples/
- samples:图片的存放路径
另外如何通过Python调用
在/tensorrtx/yolov5/
中tensorrtx
作者给了两个python版本的示例分别是:yolov5_trt.py
和yolov5_trt_cuda_python.py
。
(1)
- python detect.py --weights weights/yolov5s.pt --source data/images/zidane.jpg --device 0
- python detect.py --weights weights/yolov5s.pt --source 0
(2)
python segment/predict.py --weights weights/yolov5n-seg.pt --source 0 --device 0
(3)rt的测试
python segment/predict.py --weights weights/yolov5n-seg.engine --source 0 --device 0
-------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
conda create -n chenyolo_python37 python=3.7
pip install --upgrade pip
对应arrch64
(1)torch对应1.11.0 版本的
(2)torchvision对应0.11.1版本的
(1)下载yolov5
下载aarch64版本的最低对应python3.7,matplotlib的版本为3.5.3
对应资源如下
https://download.csdn.net/download/chencaw/86721840
(3)然后暗自yolo5的依赖
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
------------------------------------------------------------------------------------------------------
以下为测试中的,不用!!!!
-------------------------------------------------------------------------
(1)从jetson nano官网下载对应的pytorch文件并安装,注意已下载
资源地址
https://download.csdn.net/download/chencaw/86721685
pip install torch-1.11.0a0+17540c5+nv22.01-cp36-cp36m-linux_aarch64.whl
(2)torchvision下载资源安装(方法一推荐)
https://download.csdn.net/download/qq_35000950/49826616?utm_source=bbsseo
(3)安装torchvision(方法二)
conda install torchvision cudatoolkit=10.2
(3)下载torchvision源码编译 (方法三)
conda install pytorch torchvision cudatoolkit=10.2
(3)下面方法下载的版本还是太低了
sudo apt-get install python-matplotlib
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib==3.2.2
参照了
Jetson nano/NX 安装matplotlib3.3.4 失败_北极星~的博客-CSDN博客_jetson nano安装matplotlib
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。