Giter VIP home page Giter VIP logo

Comments (7)

positive666 avatar positive666 commented on May 14, 2024

❔Question

你好,我在尝试采用carafe算子进行训练时,报错如下: yolo.py in parse_model c2_ = make_divisible(c2 * gw, 8) TypeError: unsupported operand type(s) for *: 'NoneType' and 'float' 请问该如何解决呢?是哪里没设置对吗?

Additional context

你发下命令 看看

from yolo_research.

positive666 avatar positive666 commented on May 14, 2024

❔Question

你好,我在尝试采用carafe算子进行训练时,报错如下: yolo.py in parse_model c2_ = make_divisible(c2 * gw, 8) TypeError: unsupported operand type(s) for *: 'NoneType' and 'float' 请问该如何解决呢?是哪里没设置对吗?

Additional context

你发下命令 看看

也可以先clone我新的代码 因为昨天进行了一次大更新

from yolo_research.

Luckycat518 avatar Luckycat518 commented on May 14, 2024

你好,我是基于您的代码对我的v6.0的common.py和yolo.py进行了修改。具体修改如下

在common.py中添加了如下内容:
class CARAFE(nn.Module):
#CARAFE: Content-Aware ReAssembly of FEatures https://arxiv.org/pdf/1905.02188.pdf
def init(self, c1, c2, kernel_size=3, up_factor=2):
super(CARAFE, self).init()
self.kernel_size = kernel_size
self.up_factor = up_factor
self.down = nn.Conv2d(c1, c1 // 4, 1)
self.encoder = nn.Conv2d(c1 // 4, self.up_factor ** 2 * self.kernel_size ** 2,
self.kernel_size, 1, self.kernel_size // 2)
self.out = nn.Conv2d(c1, c2, 1)

def forward(self, x):
    N, C, H, W = x.size()
    # N,C,H,W -> N,C,delta*H,delta*W
    # kernel prediction module
    kernel_tensor = self.down(x)  # (N, Cm, H, W)
    kernel_tensor = self.encoder(kernel_tensor)  # (N, S^2 * Kup^2, H, W)
    kernel_tensor = F.pixel_shuffle(kernel_tensor, self.up_factor)  # (N, S^2 * Kup^2, H, W)->(N, Kup^2, S*H, S*W)
    kernel_tensor = F.softmax(kernel_tensor, dim=1)  # (N, Kup^2, S*H, S*W)
    kernel_tensor = kernel_tensor.unfold(2, self.up_factor, step=self.up_factor) # (N, Kup^2, H, W*S, S)
    kernel_tensor = kernel_tensor.unfold(3, self.up_factor, step=self.up_factor) # (N, Kup^2, H, W, S, S)
    kernel_tensor = kernel_tensor.reshape(N, self.kernel_size ** 2, H, W, self.up_factor ** 2) # (N, Kup^2, H, W, S^2)
    kernel_tensor = kernel_tensor.permute(0, 2, 3, 1, 4)  # (N, H, W, Kup^2, S^2)

    # content-aware reassembly module
    # tensor.unfold: dim, size, step
    x = F.pad(x, pad=(self.kernel_size // 2, self.kernel_size // 2,
                                      self.kernel_size // 2, self.kernel_size // 2),
                      mode='constant', value=0) # (N, C, H+Kup//2+Kup//2, W+Kup//2+Kup//2)
    x = x.unfold(2, self.kernel_size, step=1) # (N, C, H, W+Kup//2+Kup//2, Kup)
    x = x.unfold(3, self.kernel_size, step=1) # (N, C, H, W, Kup, Kup)
    x = x.reshape(N, C, H, W, -1) # (N, C, H, W, Kup^2)
    x = x.permute(0, 2, 3, 1, 4)  # (N, H, W, C, Kup^2)

    out_tensor = torch.matmul(x, kernel_tensor)  # (N, H, W, C, S^2)
    out_tensor = out_tensor.reshape(N, H, W, -1)
    out_tensor = out_tensor.permute(0, 3, 1, 2)
    out_tensor = F.pixel_shuffle(out_tensor, self.up_factor)
    out_tensor = self.out(out_tensor)
    #print("up shape:",out_tensor.shape)
    return out_tensor

在yolo.py中添加了CARAFE,修改如下:
if m in [Conv, GhostConv, Bottleneck, GhostBottleneck, SPP, SPPF, GSConv, DWConv, CARAFE, MixConv2d, Focus, CrossConv,
BottleneckCSP, C3, C3TR, C3STR, C3SPP, C3Ghost, CBAM, Conv_maxpool, ShuffleNetV2_InvertedResidual......

运行的具体指令如下:
python train.py --weights weights/yolov5l.pt --cfg models/ablation_experimental_wgq/yolov5lCBAM-SwinTrans-DWconv-Decoupledhead-CARAFE.yaml --data data/Ws.yaml --epoch 300 --batch-size 8 --img 608 --nohalf --device '0'

from yolo_research.

Luckycat518 avatar Luckycat518 commented on May 14, 2024

grey_questionQuestion

你好,我在尝试采用carafe算子进行训练时,报错如下: yolo.py in parse_model c2_ = make_divisible(c2 * gw, 8) TypeError: unsupported operand type(s) for *: 'NoneType' and 'float' 请问该如何解决呢?是哪里没设置对吗?

Additional context

你发下命令 看看

也可以先clone我新的代码 因为昨天进行了一次大更新

好的,我看看,您有空也可以看看我结合您代码进行的更改是否存在问题。即使不结合trans,仅在yolov5-6.0.yaml中基于上述修改替换CARAFE算子依然报上述错误“: yolo.py in parse_model c2_ = make_divisible(c2 * gw, 8) TypeError: unsupported operand type(s) for *: 'NoneType' and 'float' ”

from yolo_research.

Luckycat518 avatar Luckycat518 commented on May 14, 2024

grey_questionQuestion

你好,我在尝试采用carafe算子进行训练时,报错如下: yolo.py in parse_model c2_ = make_divisible(c2 * gw, 8) TypeError: unsupported operand type(s) for *: 'NoneType' and 'float' 请问该如何解决呢?是哪里没设置对吗?

Additional context

你发下命令 看看

也可以先clone我新的代码 因为昨天进行了一次大更新

clone您新的代码并在您的文件夹下运行指令“python train.py --weights weights/yolov5s.pt --cfg models/yolov5s-carafe.yaml --data data/Weld2009.yaml --epoch 300 --batch-size 8 --img 608 --device '0' --name l-Cara”后报错如下“File "train.py", line 416, in train
loss, loss_items = compute_loss(pred, targets.to(device)) # loss scaled by batch_size
File "/home/imcm/code/wanggq/yolov5_research-master/utils/loss.py", line 221, in call
pxy, pwh, _, pcls = pi[b, a, gj, gi].tensor_split((2, 4, 5), dim=1) # target-subset of predictions
AttributeError: 'Tensor' object has no attribute 'tensor_split'

from yolo_research.

positive666 avatar positive666 commented on May 14, 2024

grey_questionQuestion

你好,我在尝试采用carafe算子进行训练时,报错如下: yolo.py in parse_model c2_ = make_divisible(c2 * gw, 8) TypeError: unsupported operand type(s) for *: 'NoneType' and 'float' 请问该如何解决呢?是哪里没设置对吗?

Additional context

你发下命令 看看

也可以先clone我新的代码 因为昨天进行了一次大更新

clone您新的代码并在您的文件夹下运行指令“python train.py --weights weights/yolov5s.pt --cfg models/yolov5s-carafe.yaml --data data/Weld2009.yaml --epoch 300 --batch-size 8 --img 608 --device '0' --name l-Cara”后报错如下“File "train.py", line 416, in train loss, loss_items = compute_loss(pred, targets.to(device)) # loss scaled by batch_size File "/home/imcm/code/wanggq/yolov5_research-master/utils/loss.py", line 221, in call pxy, pwh, _, pcls = pi[b, a, gj, gi].tensor_split((2, 4, 5), dim=1) # target-subset of predictions AttributeError: 'Tensor' object has no attribute 'tensor_split' ”

好的 今天更新 不过我先测下yolov7的结构

from yolo_research.

github-actions avatar github-actions commented on May 14, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

from yolo_research.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.