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



2. .pt转换模型转换为.onnx模型

    转换脚本

python export_yoloV8.py -w drone_yolov8m_best.pt --opset=12




执行上面的脚本得到 labels.txt、 drone_yolov8m_best.onnx

    遇到问题,使用一下的脚本转换会报错,加上 --opset=12解决

python export_yoloV8.py -w drone_yolov8m_best.pt



3. 配置deepstream_yolo

    生成lib库

CUDA_VER=11.4 make -C nvdsinfer_custom_impl_Yolo



    配置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


  

4. 运行

deepstream-app -c deepstream_app_config_yolov8_drone.txt



参考:Deploy YOLOv8 on NVIDIA Jetson using TensorRT and DeepStream SDK