当前位置:   article > 正文

yolov8转onnx再转ncnn_yolo v8 coco ncnn模型转换

yolo v8 coco ncnn模型转换

目录

1. yolov8的安装

2. 数据集的训练和预测

2.1 数据集的训练

2.2 数据集的预测

3. 模型转换成ncnn

3.1 安装必须库

3.2 转换

参考文献:


前提:ubuntu20.04, python3.9

1. yolov8的安装

yolov8 官方说明Home - Ultralytics YOLOv8 Docs

yolov8 官方仓库: https://github.com/ultralytics/ultralytics

anaconda官网网址下载: Anaconda | The World’s Most Popular Data Science Platform

  1. $ conda create -n yolov8 python=3.9 -y
  2. $ conda activate yolov8
  3. $ pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple

2. 数据集的训练和预测

coco数据集与其他数据格式的转换

GitHub - RapidAI/YOLO2COCO: A set of tools for converting a yolov5 format dataset to COCO format working with yolov5, yolox and yolov6. 

2.1 数据集的训练

  1. from ultralytics import YOLO
  2. model = YOLO("xxx/weights/yolov8n.pt")
  3. results = model.train(data="/xxx/train_cfg.yaml", epochs=100, batch=4)
  1. # train_cfg.yaml coco
  2. train: /xxx/dataSet/train.txt # train images
  3. val: //xxx/val.txt # val images
  4. test: //xxx/test.txt #
  5. # Classes
  6. nc: 2 # number of classes
  7. names: ['apple', 'orange']

2.2 数据集的预测

  1. from ultralytics import YOLO
  2. import os
  3. import cv2
  4. # Load a model
  5. model = YOLO("/xxx/weights/best.pt")
  6. # Use the model
  7. path = "/xxx/test"
  8. inputs = list()
  9. for i_name in os.listdir(path):
  10. i_path = os.path.join(path, i_name)
  11. i_img = cv2.imread(i_path, 1)
  12. inputs.append(i_img)
  13. model.predict(inputs, save=True, imgsz=320, conf=0.25)

3. 模型转换成ncnn

3.1 安装必须库

  1. # 安装 onnx, onnxsim, ncnn
  2. conda activate yolov8
  3. pip install onnx -i https://pypi.doubanio.com/simple
  4. pip install onnxsim -i https://pypi.doubanio.com/simple
  5. cd /home/xxy
  6. git clone https://github.com/Tencent/ncnn.git
  7. cd ncnn
  8. mkdir build && cd build
  9. cmake ..
  10. make
  11. make install

3.2 转换

  1. # 使用 onnx, onnxsim, ncnn
  2. cd /xxx/ultralytics/runs/detect/${train_xxx}/weights
  3. conda activate yolov8
  4. # pt -> onnx
  5. python export.py
  6. # onnx -> onnxsim
  7. python3 -m onnxsim best.onnx best-sim.onnx
  8. # onnxsim -> ncnn
  9. cd /xxxy/ncnn/build/tools/onnx
  10. ./onnx2ncnn /xxx/best-sim.onnx /xxx/best-sim.param /xxx/best-sim.bin
  1. # export.py
  2. from ultralytics import YOLO
  3. model = YOLO("/xxx/ultralytics/runs/detect/${train_xxx}/weights/best.pt")
  4. success = model.export(format="onnx") # 将模型导出为 ONNX 格式

参考文献:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/771244
推荐阅读
相关标签
  

闽ICP备14008679号