做网站超速云,网页制作的论文,朝阳双桥网站建设,网站制作企业有哪些SE注意力机制概念 SSqueeze-and-Excitation (SE) 注意力机制是一种专注于增强网络模型对不同特征通道的重要性理解的机制。它通过对通道维度上的特征进行动态调整#xff0c;增强了网络对重要特征的敏感性。
源码
import numpy as np
import torch
from torch import nn
fro… SE注意力机制概念 SSqueeze-and-Excitation (SE) 注意力机制是一种专注于增强网络模型对不同特征通道的重要性理解的机制。它通过对通道维度上的特征进行动态调整增强了网络对重要特征的敏感性。
源码
import numpy as np
import torch
from torch import nn
from torch.nn import initclass SE(nn.Module):def __init__(self, channel512,reduction16):super().__init__()self.avg_pool nn.AdaptiveAvgPool2d(1)self.fc nn.Sequential(nn.Linear(channel, channel // reduction, biasFalse),nn.ReLU(inplaceTrue),nn.Linear(channel // reduction, channel, biasFalse),nn.Sigmoid())def init_weights(self):for m in self.modules():if isinstance(m, nn.Conv2d):init.kaiming_normal_(m.weight, modefan_out)if m.bias is not None:init.constant_(m.bias, 0)elif isinstance(m, nn.BatchNorm2d):init.constant_(m.weight, 1)init.constant_(m.bias, 0)elif isinstance(m, nn.Linear):init.normal_(m.weight, std0.001)if m.bias is not None:init.constant_(m.bias, 0)def forward(self, x):b, c, _, _ x.size()y self.avg_pool(x).view(b, c)y self.fc(y).view(b, c, 1, 1)return x * y.expand_as(x)
第一步在ultralytics/nn/modules/conv.py文件内添加注意力源码 第二步在ultralytics/nn/modules/init.py文件内按下图标识的地方添加注意力名
第一处在from .conv import()处最后添加注意力名称 第二处在__all__{}处最后添加注意力名称 第三步在ultralytics/nn/tasks.py文件内
首先在from ultralytics.nn.modules import 处添加SE 其次键盘点击CTRLshiftF打开查找界面搜索elif m in 在该函数下方有一堆的elif m in XXX在某一个elif下方添加如下代码
elif m in {SE}:args [ch[f], *args] 第五步在ultralytics/cfg/models/v8文件下复制yolov8.yaml并改成自己的名字如yolov8-SE.yaml做出如下修改 运行结果如下 表示成功。