1\查看下面的blog安装nano相关设置
yolov5 部署jetson nano(通用) 保姆级教学_奶茶不加冰的博客-CSDN博客_jetson nano yolov5
同时参照了
https://blog.csdn.net/qq_40630902/article/details/118356845
2、注意适合于jetson nano的anaconda的资源
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
3、使用系统自带的tensorrt进行软链接
参考了
第三章 Jetson Nano 虚拟环境中使用PyQt5及TensorRT_时光机器人的博客-CSDN博客_jetson nano tensorrt安装
(1)建立软链接
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/
(2)测试查看版本
>>> 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
-------------------------------------------------------------------------------------------------
4/安装tensort进行加速
参考了
https://www.jianshu.com/p/e9b77e1e1a19
4.1/安装
(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
3.3/编译测试
(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
。
4/yolo5测试
(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
-------------------------------------------------------------------------------------
以下操作都不行!!!!!!!!!!!!!!!!
---------------------------------------------------------------------------------------
2.1创建python3.7版本的环境
conda create -n chenyolo_python37 python=3.7
pip install --upgrade pip
3/下载对应python3.7版本的torch和torchvision
对应arrch64
(1)torch对应1.11.0 版本的
(2)torchvision对应0.11.1版本的
4/安装相关依赖
(1)下载yolov5
(2)安装matplotlib,注意(推荐的方法),下载地址
下载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
------------------------------------------------------------------------------------------------------
以下为测试中的,不用!!!!
-------------------------------------------------------------------------
3/、安装pytorch和torchvision的方法一(推荐)
(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源码编译 (方法三)
4/、安装pytorch和torchvision的方法二(有问题)
conda install pytorch torchvision cudatoolkit=10.2
(3)下面方法下载的版本还是太低了
sudo apt-get install python-matplotlib
(4)安装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