yolov8系列[四]-yolov8模型部署
yolov8系列[四]-yolov8模型部署jetson平台
jetson平台
0.安装环境
1. 下载源代码
2. `.pt`转换模型转换为`.onnx`模型
3. 配置deepstream_yolo
4. 运行
jetson平台
0.安装环境
下载torch、torchvision参考PyTorch 官方安装命令合集
我用的版本是
torch-1.10.0-cp37-cp37m-linux_aarch64.whl
torchvision-0.11.0-cp37-cp37m-linux_aarch64.whl
1. 下载源代码
下载:Deepstream-yolo
下载:ultralytics
把DeepStream-Yolo/utils/ export_yoloV8.py复制到ultralytics根目录
cp DeepStream-Yolo/utils/gen_wts_yoloV8.py ultralytics
1
2. .pt转换模型转换为.onnx模型
转换脚本
python export_yoloV8.py -w drone_yolov8m_best.pt --opset=12
1
执行上面的脚本得到 labels.txt、 drone_yolov8m_best.onnx
遇到问题,使用一下的脚本转换会报错,加上 --opset=12解决
python export_yoloV8.py -w drone_yolov8m_best.pt
1
3. 配置deepstream_yolo
生成lib库
CUDA_VER=11.4 make -C nvdsinfer_custom_impl_Yolo
1
配置config_infer_primary_yoloV8
修改config_infer_primary_yoloV8.txt相关配置
执行脚本生成library
[property]
gpu-id=0
net-scale-factor=0.0039215697906911373
model-color-format=0
onnx-file=drone_yolov8m_best.onnx
model-engine-file=drone_yolov8m.onnx_b1_gpu0_fp32.engine
#int8-calib-file=calib.table
labelfile-path=labels_drone.txt
batch-size=1
network-mode=0
num-detected-classes=1
interval=0
gie-unique-id=1
process-mode=1
network-type=0
cluster-mode=2
maintain-aspect-ratio=1
symmetric-padding=1
parse-bbox-func-name=NvDsInferParseYolo
custom-lib-path=nvdsinfer_custom_impl_Yolo/libnvdsinfer_custom_impl_Yolo.so
[class-attrs-all]
nms-iou-threshold=0.45
pre-cluster-threshold=0.25
topk=300
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
4. 运行
deepstream-app -c deepstream_app_config_yolov8_drone.txt
1
参考:Deploy YOLOv8 on NVIDIA Jetson using TensorRT and DeepStream SDK