首页 > 其他分享 >YOLOv5训练过程中的各种报错

YOLOv5训练过程中的各种报错

时间:2024-03-29 22:58:21浏览次数:29  
标签:解决办法 YOLOv5 py 训练 python torch cf 报错

1、报错:

ImportError: cannot import name 'notf' from 'tensorboard.compat' (C:\Users\86198\.conda\envs\yyt\lib\site-packages\tensorboard\compat\__init__.py)

解决办法:更新tensorboard

pip install --upgrade tensorboard

 2、报错:

ImportError: DLL load failed while importing cv2: 页面文件太小,无法完成操作。
forrtl: error (200): program aborting due to control-C event

解决办法:
①不止在运行一个项目,另一个项目的python程序也在运行,关掉就可以了。
②windows操作系统不支持python的多进程操作。而神经网络用到多进程的地方在数据集加载上,所以将DataLoader中的参数num_workers设置为0即可。

    train_loader = torch.utils.data.DataLoader(
        train_dataset,
        batch_size=16,
        shuffle=True,
        num_workers=0,  # 设置为0
    )

3、报错:

subprocess.CalledProcessError: Command ‘git tag‘ returned non-zero exit status

解决办法:

打开python环境中 找到 Lib 里面的subprocess.py,在415行中将check值修改成False。

4、报错:

UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xb2 in position 6:invalidstartbyte

解决办法:

在提示报错的torch_utils.py文件58行,将原来的decode()改成decode(encoding = ‘gbk’)

5、报错:

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

解决办法:

batch-size过大,调小即可

5、报错:

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)

6、报错:

报错CalledProcessError: Command 'pip install 'protobuf<3.20,>=3.9.2'' returned non-zero exit status 1.

解决办法:重开吧。。。

首先这个报错的大概意思是protobuf这个包的版本不对,只支持3.9.2版本。protobuf==3.9.2支持的python版本最高为3.8,这里需要从新建pytorch环境开始,降低python版本。

7、报错:

RuntimeError: result type Float can‘t be cast to the desired output type__int64

解决办法:

类型转换的问题,参考:RuntimeError: result type Float can‘t be cast to the desired output type __int64报错解决方法

8、报错:

FileNotFoundError: [Errno 2] No such file or directory: 'weights/yolov5s.pt'

在运行train.py时,需要预训练的权重文件。如果没有正确设置权重文件路径或者该文件不存在,则会发生该错误。可以检查weights文件夹是否存在,以及yolov5s.pt文件是否已经下载并放置到该文件夹下。

标签:解决办法,YOLOv5,py,训练,python,torch,cf,报错
From: https://blog.csdn.net/m0_73776435/article/details/137158013

相关文章

  • 代码随想录训练营Day31:● 理论基础 ● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子
    理论基础贪心基础455.分发饼干题目链接https://leetcode.cn/problems/assign-cookies/description/题目描述思路自己写的,因为没有事先对两个数组进行排序,所以出现了问题classSolution{publicintfindContentChildren(int[]g,int[]s){Arrays.s......
  • 代码随想录训练营Day36:● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间
    435.无重叠区间题目链接https://leetcode.cn/problems/non-overlapping-intervals/description/题目描述思路直接统计重叠区间的个数,就是需要删除的个数publicinteraseOverlapIntervals(int[][]intervals){Arrays.sort(intervals,(a,b)->Integer.com......
  • 代码随想录算法训练营第6天 | 哈希表
    哈希表理论基础用法:一般哈希表都是用来快速判断一个元素是否出现集合里,哈希法牺牲了空间换取了时间,因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找eg:例如要查询一个名字是否在这所学校里,要枚举的话时间复杂度是O(n),但如果使用哈希表的话,只需要O(1)就可......
  • clean maven工程报错: Cannot find JRE '1.8 (1)'. You can specify JRE to run maven
    在双击Maven的clean时,报错:CannotfindJRE'1.8(1)'.YoucanspecifyJREtorunmavengoalsinSettings原因可能是自己之前下载的是JDK17,并且IDEA认为该JDK为默认JDK,而我的Maven项目设置使用的是JDK8,因此报错。解决方案如下:点击File-settingBuild,Execution,Deploy......
  • 日常训练补题
    7-10红色警报-SMU2024spring天梯赛2(补题)(pintia.cn)题解:这题是一道暴力思维题我们需要先统计一下最初的点的连通块然后在一个个删除,每删除一次就跑一个并查集,在统计连通块的个数,然后对比前一次,看看连通块有没有变多即可#include<bits/stdc++.h>//#pragmaGCCopti......
  • 代码随想录算法训练营第六十天 | 84.柱状图中最大的矩形
      84.柱状图中最大的矩形 已解答困难 相关标签相关企业 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为1。求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例1:输入:heights=[2,1,5,6,2,3]输出:10......
  • Yolov8训练识别模型
    本文手把手教你用YoloV8训练自己的数据集并实现物体识别操作环境:系统:Windows10Python:3.9Pytorch:2.2.2+cu121环境安装安装CUDA以及cudnn 参考博客《Windows安装CUDA12.1及cudnn》(https://www.cnblogs.com/RiverRiver/p/18103991)安装torch,torchvision对应版本,这里先......
  • 代码随想录算法训练营第二十四天(回溯1)|77. 组合(JAVA)
    文章目录回溯理论基础概念类型回溯模板77.组合解题思路源码回溯理论基础概念回溯是递归的副产品,本质上是一种穷举回溯解决的问题可以抽象为一种树形结构类型回溯主要用来解决以下问题组合问题:N个数里面按一定规则找出k个数的集合切割问题:一个字符串按一定......
  • 代码随想录算法训练营第二十三天(二叉树9)|669. 修剪二叉搜索树、108. 将有序数组转换为
    文章目录669.修剪二叉搜索树解题思路源码108.将有序数组转换为二叉搜索树解题思路源码538.把二叉搜索树转换为累加树解题思路源码669.修剪二叉搜索树给你二叉搜索树的根节点root,同时给定最小边界low和最大边界high。通过修剪二叉搜索树,使得所有节点的值......
  • darknet框架训练YOLOv7模型与工业缺陷检测
    1.darkne介绍Darknet是一个开源的深度学习框架,由JosephRedmon(YOLO~YOLOv3作者或参与者)开发,主要用于实现神经网络模型。这个框架最初是为了实现计算机视觉任务而创建的,尤其是目标检测。其中最著名的应用之一就是YOLO(YouOnlyLookOnce)系列目标检测算法。以下是......