1、环境配置

默认已经安装好Anaconda Prompt(Miniconda)

在官网地址https://github.com/ultralytics/ultralytics下载源代码

按顺序执行如下指令

conda create -n yolo26 python=3.10

目前使用python3.10以下版本没有配置成功

conda activate yolo26

pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu121

pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install torchsummary -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install onnx==1.14.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install onnxruntime==1.15.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pycocotools==2.0.7 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install PyYAML==6.0.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install scipy==1.13.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install onnxsim==0.4.36 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install onnxruntime-gpu==1.18.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install timm thop  einops grad-cam dill albumentations pytorch_wavelets tidecv PyWavelets -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -U openmim -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install flash_attn -i https://pypi.tuna.tsinghua.edu.cn/simple   
mim install mmengine -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install mmcv==2.2.0 -f https://download.openmmlab.com/mmcv/dist/cu121/torch2.3/index.html
pip install torchsummary -i https://pypi.tuna.tsinghua.edu.cn/simple -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install easydict -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install antialiased_cnns -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install torch_dct -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install tensorboard -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install numpy==1.23.5 -i https://pypi.tuna.tsinghua.edu.cn/simple

2、pt模型转换

执行如下代码

from ultralytics import YOLO

#model = YOLO("yolo26x.pt")
model = YOLO("yolo26l.pt")

# Use one-to-one head (default, no NMS required)
#results = model.predict("image.jpg")  # inference
#metrics = model.val(data="coco.yaml")  # validation
#model.export(format="onnx")  # export

# Use one-to-many head (requires NMS)
#results = model.predict("bus.jpg", end2end=False)  # inference
#metrics = model.val(data="cfg/datasets/coco.yaml", end2end=False)  # validation
model.export(format="onnx", end2end=False)  # export

说明:end2end=false的原因如下:

选择取决于您的部署需求:若追求最高速度和简便性,请选用一对一处理器end2end=True;若精度是首要考量,则应选用多对一处理器end2end=False。工业上应用一般选择end2end=False来追求准确率。

3、部署

对于end2end=false与原来的用法没事差别,直接参考D:\YOLO26\ultralytics-main\examples\YOLOv8-CPP-Inference下的应用代码即可。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐