结合上一篇章在AutoDL中使用YOLOV8训练自己的数据集_退即是进的博客-优快云博客 在yolov8改进之添加BiFPN。
因为之前做过在yolov5中添别BiFPN,所以尝试在yolov8中添加看一看效果。
我是在AutoDL中操作的。
先看一下根目录:、
1 修改bifpn.py文件。
文件所在目录ultralytics/ultralytics/nn/modules/bifpn.py,bifpn.py中添加下面的代码
import math
import numpy as np
import torch
import torch.nn as nn
# BiFPN
# 两个特征图add操作
class BiFPN_Concat2(nn.Module):
def __init__(self, dimension=1):
super(BiFPN_Concat2, self).__init__()
self.d = dimension
self.w = nn.Parameter(torch.ones(2, dtype=torch.float32), requires_grad=True)
self.epsilon = 0.0001
def forward(self, x):
w = self.w
weight = w /