
YOLOE实战源码级部署与推理全流程YOLOE的核心价值在于打破了传统检测模型的“封闭词汇表”限制让你无需重新训练就能识别任意物体。很多教程喜欢花大篇幅讲架构原理但当你真正动手时发现最难的往往是环境配置和代码跑通。本文不讲理论直接带你从GitHub拉取源码在本地配置环境并运行三种核心推理模式。环境准备从源码构建首先我们需要一个干净的Python环境。建议使用Conda来隔离依赖避免污染系统环境。创建并激活环境# 创建名为yoloe的虚拟环境指定Python 3.10 conda create -n yoloe python3.10 -y conda activate yoloe克隆官方代码库直接从GitHub获取最新代码git clone https://github.com/THU-MIG/yoloe.git cd YOLOE安装依赖YOLOE基于PyTorch和Ultralytics框架。我们需要安装核心依赖。# If you clone this repo, please use this pip install -r requirements.txt # Or you can also directly install the repo by this pip install githttps://github.com/THU-MIG/yoloe.git#subdirectorythird_party/CLIP pip install githttps://github.com/THU-MIG/yoloe.git#subdirectorythird_party/ml-mobileclip pip install githttps://github.com/THU-MIG/yoloe.git#subdirectorythird_party/lvis-api pip install githttps://github.com/THU-MIG/yoloe.git wget https://docs-assets.developer.apple.com/ml-research/datasets/mobileclip/mobileclip_blt.pt下载预训练权重代码跑通了但还需要“大脑”。你需要手动下载官方预训练模型例如yoloe-v8l-seg.pt。访问YOLOE的官方GitHub Release页面或HuggingFace仓库。下载yoloe-v8l-seg.pt。将其放入项目根目录下的pretrain/文件夹中如果没有该文件夹请手动创建。实战一文本提示模式这是最常用的模式。假设你有一张街景图bus.jpg你想检测“人”、“公交车”和“停车标志”。准备测试图片确保你有一张测试图片或者使用项目自带的示例图片通常在ultralytics/assets/下。编写推理脚本在项目根目录下创建一个run_text.pyfrom ultralytics import YOLOE # 1. 加载本地模型 # 确保路径指向你刚才下载的权重文件 model YOLOE(pretrain/yoloe-v8l-seg.pt) # 2. 定义你要检测的目标开放词汇 # 这里不需要模型训练过这些类别直接写英文单词即可 targets [person, bus, stop sign] # 3. 执行推理 # source: 图片路径 # names: 你的目标列表 # conf: 置信度阈值越低检出的物体越多 results model.predict( sourceultralytics/assets/bus.jpg, namestargets, conf0.3, device0 # 0代表使用GPU如果没有GPU请改为cpu ) # 4. 保存并显示结果 results[0].save(output_text_prompt.jpg) print(检测完成结果已保存为 output_text_prompt.jpg)运行代码python run_text.py你会看到终端输出检测到的物体坐标并在当前目录生成一张画好框和掩码的图片。实战二视觉提示模式当你不知道物体叫什么或者名字很难描述时比如“那个红色的、有缺口的零件”可以用图搜图。准备素材源图包含复杂场景的大图。提示图一张包含你要找的目标物体的小图裁剪图。编写推理脚本创建run_visual.pyfrom ultralytics import YOLOE # 1. 加载模型 model YOLOE(pretrain/yoloe-v8l-seg.pt) # 2. 执行视觉提示推理 # source: 大图路径 # prompt: 提示图片的路径可以是单张图也可以是多张图的列表 results model.predict( sourceultralytics/assets/bus.jpg, promptassets/your_prompt_image.jpg, conf0.3, device0 ) # 3. 保存结果 results[0].save(output_visual_prompt.jpg) print(视觉提示检测完成)运行代码python run_visual.py模型会自动计算提示图的特征并在源图中寻找相似的区域。实战三无提示模式如果你想让模型充当“万物检测器”自动识别图中所有显著物体不需要输入任何提示。编写推理脚本创建run_prompt_free.pyfrom ultralytics import YOLOE # 1. 加载模型 model YOLOE(pretrain/yoloe-v8l-seg.pt) # 2. 执行无提示推理 # 不需要names也不需要prompt results model.predict( sourceultralytics/assets/bus.jpg, conf0.3, device0 ) # 3. 保存结果 results[0].save(output_prompt_free.jpg) print(无提示检测完成模型已自动识别所有可能物体)运行代码python run_prompt_free.py你会发现模型自动给图中的汽车、人、路灯等都打上了标签。常见问题排查报错ModuleNotFoundError: No module named tkinter这是Linux系统常见的Python库缺失。解决sudo apt-get install python3-tk报错FileNotFoundError找不到权重文件检查确保pretrain/yoloe-v8l-seg.pt路径正确且文件已完整下载。推理速度慢检查确认device0生效模型正在使用GPU而不是CPU。可以使用nvidia-smi命令查看显卡占用情况。通过以上步骤你应该已经完全掌握了YOLOE的本地化部署和三种核心用法。接下来你可以尝试把自己的图片喂给它看看效果如何。