一.下载烧录好的基础镜像
1. 基础环境
当前镜像包是ubuntu18.08,镜像。镜像包已安装jetpack 4.6,python3.6 ,torch1.7, opencv, tensorrt等,运行模型的基本环境都已搭建。jetpack 是4.6 对应L4T是32.6.1。如下图:
(1).下载当前文件包,下载链接:L4T_32.6.1
(2).L4T 驱动包下载中心: https://download.csdn.net/download/llm765800916/87728748
2. 镜像烧录
- 将以上安装包下载到一台x86的ubuntu的主机上,执行
install.sh
脚本搭建环境; - 拷贝到32.6.1环境下的
Linux_for_Tegra/bootloader/
目录下重命名为system.img
;mv agx-jp46-torch17.img system.img && cp system.img ./Linux_for_Tegra/bootloader/
- 连接agx进入rec刷机模式,在Linux_for_Tegra/目录下执行:
下图为rec刷机按钮:sudo ./ws-flash.sh -r ws-agx32gb-mdn603v10-hdmi mmcblk0p1
找到 REC 和 RST 按键,先按 REC,不松手同时按住 RST,保持 3s,在同时 松开即可,下图红框标出。
如果烧录的过程中出现python的错误,请在x86烧录电脑上确认python环境。 等待烧录完成,。登陆秘密nvidia
三.安装相关依赖包
-
安装jtop工具
sudo apt-get install python3-pip sudo pip3 install jetson-stats (包含jtop)
查看jetson 版本:
jetson_release
(jetson_release命令显示NVIDIA Jetson的状态和所有信息)
-
安装pycuda环境: 下载安装包
pycuda2021.1
python3 setup.py install
-
如果没有torchversion ,本例使用:torchversion==0.8.0 请参考:https://forums.developer.nvidia.com/t/pytorch-for-jetson/72048
$ sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev $ git clone --branch <version> https://github.com/pytorch/vision torchvision # see below for version of torchvision to download $ cd torchvision $ export BUILD_VERSION=0.x.0 # where 0.x.0 is the torchvision version $ python3 setup.py install --user $ cd ../ # attempting to load torchvision from build dir will result in import error $ pip install 'pillow<7' # always needed for Python 2.7, not needed torchvision v0.5.0+ with Python 3.6
4.其他包缺啥安装啥,另附上本机 requirements.txt 。
四. YoloV5 pt 编译转 engine 模型
我们以yolov5.6.1的yolov5l.pt为例:
1.下载项目快速下载(直接执行第3步) 或git下载
git clone -b v6.1 https://github.com/ultralytics/yolov5.git
# tensorrtx 没有6.1 我们采用6.2
git clone -b yolov5-v6.2 https://github.com/wang-xinyu/tensorrtx.git
wget https://github.com/ultralytics/yolov5/releases/download/v6.1/yolov5l.pt
2.生成wts文件
cp {tensorrtx}/yolov5/gen_wts.py {ultralytics}/yolov5
cd {ultralytics}/yolov5
python3 gen_wts.py -w yolov5l.pt -o yolov5l.wts
- 编译生成engine文件和测试运行
cd {tensorrtx}/yolov5/
mkdir build
cd build
cp {ultralytics}/yolov5/yolov5l.wts {tensorrtx}/yolov5/build
cmake ..
make
# 生成和运行命令
sudo ./yolov5 -s [.wts] [.engine] [n/s/m/l/x/n6/s6/m6/l6/x6 or c/c6 gd gw]
sudo ./yolov5 -d [.engine] [image folder]
# yolov5l为例
sudo ./yolov5 -s yolov5l.wts yolov5l.engine l
sudo ./yolov5 -d yolov5l.engine ../samples
- python pycuda 运行推理
install python-tensorrt, pycuda, etc.
python3 yolov5_trt.py