【无标题】

模型"炼丹"过程

步骤 1:数据集结构

(1)部署好YOLO11/13的运行环境,把数据集配置成以下结构

datasets

|

-----images

|

----labels

|

data.yaml

train.txt

val.txt

test.txt

data.yaml 需放在 datasets/ 根目录,内容示例:

train: .../train.txt # 相对路径(相对于data.yaml)

python 复制代码
val: ../val.txt
test: ../test.txt
nc: 3  # 类别数
names: ["WBC", "RBC", "Platelets"]

train.txt/val.txt/test.txt 中每行是 images/xxx.jpg 的绝对路径或相对于项目根目录的相对路径。

步骤 2:自定义模块的存放位置

YOLO 的基础模块统一放在 nn/modules/ 下

步骤 3:模块注册

在 nn/tasks.py 的 parse_model 函数中注册

(1)在 tasks.py 顶部导入你的模块:

from ultralytics.nn.modules.MyAttention import MyAttention # 对应步骤2的存放路径

(2)在 parse_model 函数的 m in (...) 列表中添加你的模块:

if m in (..., MyAttention): # 把MyAttention加入现有模块列表

步骤 4:yaml 配置文件

在 ultralytics/cfg/models/v11/ 下新建 yolov11-MyAttention.yaml,示例(在检测头中添加你的模块):

python 复制代码
# YOLOv11 + MyAttention 配置
nc: 80
scales:
  n: [0.33, 0.25, 1024]
  # ...(保留原scale配置)

backbone:
  # ...(保留原backbone配置)

head:
  # ...(保留原head前序配置)
  - [-1, 3, C2f, [512]]  # P4层特征
  - [-1, 1, MyAttention, [512]]  # 插入你的模块(输入通道512)
  # ...(保留原head后续配置)
  - [[16, 19, 22], 1, Detect, [nc]]

关键注意事项

(1)模块输入 / 输出通道匹配

你的模块在 yaml 中插入的位置,需保证输入通道与前一层输出通道一致(如上述示例中前一层是 C2f 输出 512,你的模块输入也需是 512)。

(2) 模块初始化参数:

你的模块 init 函数需支持接收通道数等参数(如 def init(self, c1, c2=None):),与 YOLO 模块的参数规范对齐。

(3)验证模块加载:

运行 model = YOLO("yolov11-MyAttention.yaml") 并打印 model.info(),确认你的模块出现在网络结构中,无报错。

相关推荐
AllData公司负责人7 小时前
AI大模型数据开发底座系列说明书,AllData集成Chat2DB开源项目建设AI 数据库分析底座,涵盖AI 洞察/对话SQL/智能视图!
数据库·人工智能·sql·开源·ai 洞察·对话sql
泯泷9 小时前
让 Agent 分清“马上办、等一等、顺手办”
人工智能·llm·agent
鲜于言悠9059 小时前
Claude Fable 5.2 登场,专治复杂推理与长任务
人工智能
联犀10 小时前
如何工程化降低语音交互AI设备的延迟(小智ai,芙崽这样的ai设备)
人工智能
杉岩数据10 小时前
杉岩数据董事长陈坚:从数据存储到行业智能——杉岩的AI时代战略布局
人工智能
冬奇Lab10 小时前
Loop 工程到底是高深的新技术,还是炒冷饭?用训练一个识别狗的模型讲明白
人工智能
冬奇Lab11 小时前
一天一个开源项目(第260篇):Plannotator —— 给 AI 编码 Agent 配一块「可批注的审阅台」,计划和代码改动都能在浏览器里逐条批示
人工智能·开源·claude
泯泷11 小时前
语音,正在成为 AI Agent 最自然的接口
人工智能·llm·agent
杨凯凡12 小时前
IT日报|2026-11-13:GitHub 大规模凭据攻击、Signal 形式化验证、Claude 新模型与 AI 安全诉讼
人工智能·安全·github
一个天蝎座 白勺 程序猿12 小时前
别让收藏夹替你学习:我搭AI知识体系的完整方法,脚本直接拿去用
人工智能·学习·ai·ai学习