YOLOv5 训练报错记录(持续更新中...)

2023-11-09

1、AttributeError: Can’t get attribute ‘C3’

AttributeError: Can’t get attribute ‘C3’ on <module ‘models.common’ from ‘/root/deepstream_yolov5/yolov5/models/common.py’>

models/common.py 中没有 C3,全局查找,发现在 models/experimental.py 里,把这个类粘过来就行了

2、RuntimeError: a view of a leaf Variable that requires grad is being used in an in-place operation.

Traceback (most recent call last):
  File "train.py", line 453, in <module>
    train(hyp, opt, device, tb_writer)
  File "train.py", line 70, in train
    model = Model(opt.cfg or ckpt['model'].yaml, ch=3, nc=nc).to(device)  # create
  File "/home/zhangli/code/yolov5.3/models/yolo.py", line 85, in __init__
    self._initialize_biases()  # only run once
  File "/home/zhangli/code/yolov5.3/models/yolo.py", line 143, in _initialize_biases
    b[:, 4] += math.log(8 / (640 / s) ** 2)  # obj (8 objects per 640 image)
RuntimeError: a view of a leaf Variable that requires grad is being used in an in-place operation.

修改 models/yolo.py 中的 _initialize_biases 函数为:

def _initialize_biases(self, cf=None):  # initialize biases into Detect(), cf is class frequency
    # cf = torch.bincount(torch.tensor(np.concatenate(dataset.labels, 0)[:, 0]).long(), minlength=nc) + 1.
    m = self.model[-1]  # Detect() module
    for mi, s in zip(m.m, m.stride):  # from
        b = mi.bias.view(m.na, -1)  # conv.bias(255) to (3,85)
        with torch.no_grad():
            b[:, 4] += math.log(8 / (640 / s) ** 2)  # obj (8 objects per 640 image)
            b[:, 5:] += math.log(0.6 / (m.nc - 0.99)) if cf is None else torch.log(cf / cf.sum())  # cls
        mi.bias = torch.nn.Parameter(b.view(-1), requires_grad=True)

3、AssertionError: WARNING: No labels found in xxx… Can not train without labels.

WARNING: No labels found in /home/zhangli/data/voc/Allride_2D_20210804/JPEGImages/. See https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data
Traceback (most recent call last):
  File "train.py", line 453, in <module>
    train(hyp, opt, device, tb_writer)
  File "train.py", line 161, in train
    dataloader, dataset = create_dataloader(train_path, imgsz, batch_size, gs, opt, hyp=hyp, augment=True,
  File "/home/zhangli/code/yolov5.3/utils/datasets.py", line 53, in create_dataloader
    dataset = LoadImagesAndLabels(path, imgsz, batch_size,
  File "/home/zhangli/code/yolov5.3/utils/datasets.py", line 432, in __init__
    assert not augment, '%s. Can not train without labels.' % s
AssertionError: WARNING: No labels found in /home/zhangli/data/voc/Allride_2D_20210804/JPEGImages/. See https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data. Can not train without labels.

找到 utils/datasets.py,搜索 Define labels,将 images 修改为 JPEGImages,修改后如下

# Define labels
self.label_files = [x.replace('JPEGImages', 'labels').replace(os.path.splitext(x)[-1], '.txt') for x in self.img_files]

4、PyTorch版本降级 / 安装指定版本PyTorch

https://pytorch.org/get-started/previous-versions/

5、AttributeError: Can’t get attribute ‘SiLU’

Traceback (most recent call last):
  File "train.py", line 453, in <module>
    train(hyp, opt, device, tb_writer)
  File "train.py", line 69, in train
    ckpt = torch.load(weights, map_location=device)  # load checkpoint
  File "/home/zhangli/anaconda3/envs/yolov5.3/lib/python3.8/site-packages/torch/serialization.py", line 584, in load
    return _load(opened_zipfile, map_location, pickle_module, **pickle_load_args)
  File "/home/zhangli/anaconda3/envs/yolov5.3/lib/python3.8/site-packages/torch/serialization.py", line 842, in _load
    result = unpickler.load()
AttributeError: Can't get attribute 'SiLU' on <module 'torch.nn.modules.activation' from '/home/zhangli/anaconda3/envs/yolov5.3/lib/python3.8/site-packages/torch/nn/modules/activation.py'>

pytorch版本问题(1.7以上似乎不会有这个问题),可将SiLU粘过来

class SiLU(Module):  # export-friendly version of nn.SiLU()
    @staticmethod
    def forward(x):
        return x * torch.sigmoid(x)

6、RuntimeError: Unable to find a valid cuDNN algorithm to run convolution

batch-size过大,调小即可

7、non-normalized or out of bounds coordinate labels

坐标没有归一化,把YOLOv5-v5.0里的相关内容拿过来,若数据存在non-normalized or out of bounds coordinate labels问题,忽略即可

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

YOLOv5 训练报错记录(持续更新中...) 的相关文章

  • Python 有不可变列表吗?

    python 有不可变列表吗 假设我希望具有元素有序集合的功能 但又想保证它不会改变 如何实现呢 列表是有序的 但它们可以改变 是的 它被称为一个tuple 所以 而不是 1 2 这是一个list并且可以突变 1 2 is a tuple并
  • Python正则表达式替换除特定单词之外的所有内容

    我正在尝试执行以下操作用正则表达式 import re x re compile going you words to replace s I am going home now thank you string to modify pri
  • 如何在anaconda python 3.6上安装tensorflow

    我使用 anaconda 包安装了新版本的 python 3 6 但是我无法安装张量流 总是收到这样的错误 tensorflow gpu 1 0 0rc2 cp35 cp35m win amd64 whl 在此平台上不受支持 如何在 ana
  • 使用 Python 将列名称与 CSV 文件中的数据对齐

    这是我用来将数据写入 csv 文件的代码 with open temp csv a as fp a csv writer fp delimiter t data faceXpos faceYpos faceHeight faceWidth
  • 绘制对数轴

    我想使用 matplotlib 绘制一张带有一个对数轴的图 我一直在阅读文档 但无法弄清楚语法 我知道这可能很简单 scale linear 在情节争论中 但我似乎无法正确理解 示例程序 import pylab import matplo
  • 如何将数据从 JavaScript 发送到 Python

    我正在 jinja2 和 python2 7 上使用 GAE 进行 Web 开发 我可以从Python获取数据 但我无法将数据从 JavaScript 发送到 Python 这是 JavaScript 代码 function toSave
  • 以编程方式结束/退出粘合作业

    我正在使用 Glue 书签来处理数据 我的工作是每天安排的 但也可以 手动 启动 由于我使用书签 有时胶水作业可以在没有新数据要处理的情况下启动 然后读取的数据帧为空 在这种情况下 我想好好地结束我的工作 因为它没有什么关系 我试过 if
  • NLTK:包错误?朋克和泡菜?

    基本上 我不知道为什么会收到此错误 只是为了获得更多图像 这里有一个代码格式的类似消息 由于是最新的 该帖子的答案已经在消息中提到 Preprocessing raw texts LookupError Traceback most rec
  • 在 Python 中倾斜数组

    我有一个 2D 数组 我将使用它保存为灰度图像scipy misc toimage 在此之前 我想将图像倾斜给定角度 像这样进行插值scipy ndimage interpolation rotate 上图只是为了说明倾斜过程 我知道我必须
  • ipython/jupyter 中的 tk 问题

    我正在尝试编写一个用于从 ipython jupyter 笔记本启动的 gui 但在笔记本中使用 tkinter 时遇到了麻烦 特别是在让 tk gui 窗口正常关闭方面 如何从 jupyter 制作 启动 tkinter gui 然后在不
  • 在Python中整齐地绘制PMF

    有没有一个库可以帮助我在 python 中整齐地绘制样本的概率质量函数 如下所示 通过matplotlib pyplot的stem模块 matplotlib pyplot stem args kwargs from matplotlib p
  • Python:Factory Boy 生成对象创建时指定长度的列表

    我正在尝试使用 Factoryboy 在创建时指定长度的对象中创建一个列表 我可以创建列表 但由于提供的长度 大小的惰性性质 每次尝试创建具有指定长度的列表都会导致问题 这是我到目前为止所拥有的 class FooFactory facto
  • 获取列的 [0, x] 元素的最小值

    我需要计算一列 其中值是对其他列进行矢量化运算的结果 df new col df col1 min 0 df col2 然而 事实证明我不能像上面的语法一样使用 min 那么 获得 pandas 列的零和给定值之间的最小值的正确方法是什么
  • 使用 Celery 通过 Gevent 进行实时、同步的外部 API 查询

    我正在开发一个 Web 应用程序 该应用程序将接收用户的请求 并且必须调用许多外部 API 来编写对该请求的答案 这可以直接从主 Web 线程使用 gevent 之类的东西来扇出请求来完成 或者 我在想 我可以将传入的请求放入队列中 并使用
  • Tensorflow `tf.layers.batch_normalization` 不会向 `tf.GraphKeys.UPDATE_OPS` 添加更新操作

    以下代码 复制 粘贴可运行 说明了如何使用tf layers batch normalization import tensorflow as tf bn tf layers batch normalization tf constant
  • 如何单独捕获这些异常?

    我正在编写一个与 Quickbooks 交互的 Python 程序 连接到 Quickbooks 时 根据问题的不同 我可能会遇到以下两个常见异常之一 pywintypes com error 2147352567 Exception oc
  • 检查图像中是否有太薄的区域

    我正在尝试验证雕刻机的黑白图像 更多的是剪贴画图像 不是照片 我需要考虑的主要事情之一是区域的大小 或线条的宽度 因为机器无法处理太细的线条 所以我需要找到比给定阈值更细的区域 以此图为例 竖琴的琴弦可能太细而无法雕刻 我正在阅读有关 Ma
  • 如何将 Django 数据库中的模板标签解释/渲染为 HTML

    我正在尝试添加带有来自 Django 管理站点的图像的帖子 但安全 自动转义关闭过滤器无法解释 Django 的模板标签 My input and page look like 复制图像地址 给出http 127 0 0 1 8000 7B
  • Hoare Partitioning算法讲解

    根据许多网站给出的伪代码 我写了这个Hoare分区算法 它采用一个数组 根据给定的主元来分区子数组的开始和结束索引 它工作得很好 但是有人可以解释一下逻辑 它是如何做到这一点的吗 这是代码 def hoare arr start end p
  • Paramiko ValueError“p 的长度必须恰好为 1024、2048 或 3072 位”

    我正在尝试使用 Python 脚本连接 SFTP 由于 p 错误 我无法连接 import paramiko client paramiko SSHClient client load system host keys client con

随机推荐

  • mysql查询语句提示Unknown column ‘xxx’ in ‘where clause’

    今天写接口自动化测试 在运行结果中提示Unknown column xxx in where clause 的问题 经过大神的指导 顿时明白其中缘由 如果sql中定义的类型是int型的可以不用加引号 但是如果是字符串类型的 必须加引号 例如
  • C++&QT day1

    思维导图
  • CTF(Web方向练习题)(持续更新)

    1 Training WWW Robots 打开应用场景 如下 网址后面添加 robots txt 查看其中内容 robots协议也叫robots txt 统一小写 是一种存放于网站根目录下的ASCII编码的文本文件 内容如下 根据提示 访
  • numpy.random.choice坑

    numpy random choice 默认是有放回 其中有个 replace 的参数控制 默认是 True 如划分数据集用到 注意重复 Code import numpy as np a np arange 5 print a for i
  • Go-Gateway反向代理,性能比拼Nginx

    前言 在以前的一篇文章 基于Fasthttp实现的Gateway 性能媲美Nginx 中 介绍给大家一款使用Go语言开发的实现反向代理功能的开源项目boot4go gateway boot4go gateway项目以fasthttp作为ht
  • gcc入门及合并静态库

    1 gcc入门 1 gcc即是linux下c c 的编译器 gcc经常用的的选项有 c o c表示只编译 compile 源文件但不链接 会把 c或 cc的c源程序编译成目标文件 二进制文件 一般是 o文件 o用于指定输出 out 文件名
  • C++:内联函数

    1 概念 以inline修饰的函数叫做内联函数 编译时C 编译器会在调用内联函数的地方展开 没有函数调用建立栈帧的开销 内联函数提升程序运行的效率 加inline与未加inline的效果可以通过反汇编查看 由于我使用的是VS2022 我先介
  • VScode使用之搭建linux开发环境

    使用SSH链接linux VScode链接的方法参考如下文章 VScode使用之ssh链接虚拟机 安装C C 插件 安装CMake插件 使用CMake构建项目 新建工程文件夹 main c inc fun h src fun c 快捷键Ct
  • 创建表 DATE类型 DEFAULT默认值

    date类型直接用CURRENT TIMESTAMP或curdate 会报错 是因为在MySQL默认你输入的是一个常量 而不能是一个表达式 如果必须要使用表达式则应该将该表达式整个用小括号包括起来 curdate DDL语句显示如下 参考
  • 【满分】【华为OD机试真题2023B卷 JAVA&JS】乱序整数序列两数之和绝对值最小

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 乱序整数序列两数之和绝对值最小 知识点排序数组 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 给定一个随机的整数 可能存在正整数和负整数 数组 nums 请你在该数组
  • Ubuntu 虚拟机无法连接网络、不显示网络图标、没有网络设置

    Ubuntu20 无法连接网络 不显示网络图标 没有网络设置 出现的问题 在VMWare中使用Ubuntu系统时 通常需要设置网络连接但是有时会出现问题 右上角的网络连接的小图标不见了 网络也没有连接 ifconfig也看不到网卡 解决办法
  • Vue2面试题100问

    Vue2面试题100问 Vue2面试题100问 1 简述一下你对Vue的理解 2 声明式和命令式编程概念的理解 3 Vue 有哪些基本特征 4 vue之防止页面加载时看到花括号解决方案有哪几种 5 Vue中v for与v if能否一起使用
  • XML字体配置

    文章目录 一 前言 二 XML字体配置 2 1 创建字体系列 font family 2 2 在XML中使用字体资源 2 3 在编码中使用字体资源 2 4 使用支持库实现 一 前言 在以往的开发中 开发者都是将字体文件放在assets目录下
  • 分库分表 21 招

    一 好好的系统 为什么要分库分表 咱们先介绍下在分库分表架构实施过程中 会接触到的一些通用概念 了解这些概念能够帮助理解市面上其他的分库分表工具 尽管它们的实现方法可能存在差异 但整体思路基本一致 因此 在开始实际操作之前 我们有必要先掌握
  • Linux下如何修改文件权限?(chmod/chown)

    目录 chmod 全称 change mode 修改文件的权限 最常见的修改权限的方式 chown 全称change owner 改变文件所有权 chgrp 用于设置文件的属组 前言 Linux 系统是一种典型的多用户系统 不同的用户处于不
  • Android 13 - Media框架 - 异步消息机制

    由于网上已经有许多优秀的博文讲解了Android的异步消息机制 ALooper AHandler AMessage那一套 而且流程也不是很复杂 所以这里将不会去讲代码流程 本篇将会记录学习过程中的疑问以及自己的解答 希望可以帮助有同样疑问的
  • 有些写法是正确的,但是为什么报错,mybaits

    这是低版本3 1 1根本不支持map迭代key和value 高版本则支持 多了一个map
  • OpenCV学习记录之视频中的火焰检测识别

    主要完成两个视频中火焰的检测 主要结合RGB判据和HIS判据 设定合适的阈值条件 检测出火焰对应像素的区域 将原图二值化 经过中值滤波以及数学形态学的膨胀运算等图像处理 消除一些噪声及离散点 连通一些遗漏的区域 基于OpenCV的开源库 在
  • 区块链将引入一种全新的语言 开启加密经济新时代

    本质上 区块链是一种永久保存交易记录的科技 而且交易记录无法被删除 只能序贯更新 从而创建了一条永无止境的历史踪迹 这个看上去简单的功能性描述 却有着意义深远的含义 它引导我们对创建交易 存储数据和移动资产的传统方式进行重新思考 而这一切仅
  • YOLOv5 训练报错记录(持续更新中...)

    1 AttributeError Can t get attribute C3 AttributeError Can t get attribute C3 on