Closed Digital2Slave closed 1 year ago
I close this issue, cause it's similar to following issues:
@Digital2Slave I have great news 😃! I've recently added official support for Ultralytics YOLOv8 NCNN export ✅ in PR https://github.com/ultralytics/ultralytics/pull/3529 with the help of @nihui which is part of ultralytics==8.0.129
. NCNN works for all tasks including Detect, Segment, Pose and Classify.
You can now export with CLI:
yolo export model=yolov8n.pt format=ncnn
or Python:
from ultralytics import YOLO
# Create a model
model = YOLO('yolov8n.pt')
# Export the model to NCNN with arguments
model.export(format='ncnn', half=True, imgsz=640)
Output is a yolov8n_ncnn_model/
directory containing model.bin
, model.param
and metadata.yaml
, along with extra PNNX files. For details see https://github.com/pnnx/pnnx README.
To get this update:
git pull
from within your ultralytics/
directory or run git clone https://github.com/ultralytics/ultralytics
againpip install -U ultralytics
sudo docker pull ultralytics/ultralytics:latest
to update your image Please let us know if NCNN export is working correctly for you, and don't hesitate to report any other issues you find or feature requests you may have. Happy training with YOLOv8 🚀!
@glenn-jocher @nihui Thanks a lot for the great work!
针对onnx模型转换的各种问题,推荐使用最新的pnnx工具转换到ncnn In view of various problems in onnx model conversion, it is recommended to use the latest pnnx tool to convert your model to ncnn
pip install pnnx
pnnx model.onnx inputshape=[1,3,224,224]
详细参考文档 Detailed reference documentation https://github.com/pnnx/pnnx https://github.com/Tencent/ncnn/wiki/use-ncnn-with-pytorch-or-onnx#how-to-use-pnnx
1. pt2onnx
I trained an image segment model
tpadseg_v0.0.1.pt
based on yolov5m-seg.pt by yolov5-7.0,and convert toonnx
format through the following command :2. onnx2ncnn
I use out-of-the-box web model conversion to convert
onnx
format model toncnn
format.3. modify ncnn model file
*.param
I modified the
tpadseg_v0.0.1-sim-opt-fp16.param
file to support different resolution of image as input data.The files in seg folder can be find in the Google Drive or Baidu Disk.
Google Drive https://drive.google.com/drive/folders/1qtM0b0n1AyNTdf_yxMTjzmEYbKia6Rbz?usp=sharing
Baidu Disk Download link : https://pan.baidu.com/s/1wwX-9j8rRcw_oqgCymy3dg?pwd=yi4x Extraction code: yi4x
4. ncnn demo [python/c++]
I search this repo issues and google some related blogs, but do not find any
ncnn
tutorial aboutyolov5-7.0
segmentation. Hope ncnn support yolov5-7.0 segmentation.Thanks a lot!