训练网络时的错误记录

训练网络时的报错:(YOLOV5)

**一、

AttributeError: Can‘t get attribute ‘SPPF‘ on <module ‘models.common‘ from ‘H:\yolov5-5.0\models\**

1.问题描述:
丢失SPPF这个类,model/common.py里面去找到这个SPPF的类,把它拷过来到你这个Tags5的model/common.py里面,这样你的代码就也有这个类了,还要引入一个warnings包就行了!

2.解决方法:
将SPPF这个类复制到common.py,记得把import warnings放在上面去:

import warnings
class SPPF(nn.Module):
    # Spatial Pyramid Pooling - Fast (SPPF) layer for YOLOv5 by Glenn Jocher
    def __init__(self, c1, c2, k=5):  # equivalent to SPP(k=(5, 9, 13))
        super().__init__()
        c_ = c1 // 2  # hidden channels
        self.cv1 = Conv(c1, c_, 1, 1)
        self.cv2 = Conv(c_ * 4, c2, 1, 1)
        self.m = nn.MaxPool2d(kernel_size=k, stride=1, padding=k // 2)
 
    def forward(self, x):
        x = self.cv1(x)
        with warnings.catch_warnings():
            warnings.simplefilter('ignore')  # suppress torch 1.9.0 max_pool2d() warning
            y1 = self.m(x)
            y2 = self.m(y1)
            return self.cv2(torch.cat([x, y1, y2, self.m(y2)], 1))

训练网络时的错误记录_第1张图片

二、

RuntimeError: result type Float can’t be cast to the desired output type long int

1.问题描述:
loss.py出现问题,版本不匹配

2.问题解决

  • 打开你的【utils】文件下的【loss.py】
  • 按【Ctrl】+【F】打开搜索功能,输入【for i in range(self.nl)】找到下面的一行内容:
    训练网络时的错误记录_第2张图片
  • 将红色部分用下列代码代替
 anchors, shape = self.anchors[i], p[i].shape 
  • 更改之后如下
    训练网络时的错误记录_第3张图片
  • 按【Ctrl】+【F】打开搜索功能,输入【indices.append】找到下面的一行内容:
    训练网络时的错误记录_第4张图片
  • 将下面的代码替换掉上图中的红圈部分:
indices.append((b, a, gj.clamp_(0, shape[2] - 1), gi.clamp_(0, shape[3] - 1)))  # image, anchor, grid
  • 替换之后的效果是这样的:

训练网络时的错误记录_第5张图片

  • 保存刚才的两个替换操作

No dashboards are active for the current data set. Probable causes

1.问题描述:
复制tensorboard网址,打不开

2.问题解决:
在终端输入时,路径采用绝对路径

tensorboard --logdir "logs所在目录\logs"(绝对路径)

你可能感兴趣的:(好好学习,python,深度学习)