BrokenPipeError: [Errno 32] Broken pipe

2023-11-19

BrokenPipeError: [Errno 32] Broken pipe

前言:今天在训练yolov5.6.1版本,突然出现BrokenPipeError: [Errno 32] Broken pipe错误。

一、 运行命令python train.py 出现如下错误

Traceback (most recent call last):
  File "train.py", line 643, in <module>
    main(opt)
  File "train.py", line 539, in main
    train(opt.hyp, opt, device, callbacks)
  File "train.py", line 237, in train
    prefix=colorstr('test: '))[0]
  File "D:\liufq\yolov5-6.1\utils\datasets.py", line 122, in create_dataloader
    collate_fn=LoadImagesAndLabels.collate_fn4 if quad else LoadImagesAndLabels.collate_fn), dataset
  File "D:\liufq\yolov5-6.1\utils\datasets.py", line 134, in __init__
    self.iterator = super().__iter__()
  File "E:\Anaconda3\envs\yolov550\lib\site-packages\torch\utils\data\dataloader.py", line 359, in __iter__
    return self._get_iterator()
  File "E:\Anaconda3\envs\yolov550\lib\site-packages\torch\utils\data\dataloader.py", line 305, in _get_iterator
    return _MultiProcessingDataLoaderIter(self)
  File "E:\Anaconda3\envs\yolov550\lib\site-packages\torch\utils\data\dataloader.py", line 918, in __init__
    w.start()
  File "E:\Anaconda3\envs\yolov550\lib\multiprocessing\process.py", line 112, in start
    self._popen = self._Popen(self)
  File "E:\Anaconda3\envs\yolov550\lib\multiprocessing\context.py", line 223, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "E:\Anaconda3\envs\yolov550\lib\multiprocessing\context.py", line 322, in _Popen
    return Popen(process_obj)
  File "E:\Anaconda3\envs\yolov550\lib\multiprocessing\popen_spawn_win32.py", line 89, in __init__
    reduction.dump(process_obj, to_child)
  File "E:\Anaconda3\envs\yolov550\lib\multiprocessing\reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
BrokenPipeError: [Errno 32] Broken pipe

二、对比之前的版本的代码,没有发现错误。在错误里面dataloader.py报错。

def create_dataloader(path, imgsz, batch_size, stride, single_cls=False, hyp=None, augment=False, cache=False, pad=0.0,
                      rect=False, rank=-1, workers=8, image_weights=False, quad=False, prefix='', shuffle=False):
    if rect and shuffle:
        LOGGER.warning('WARNING: --rect is incompatible with DataLoader shuffle, setting shuffle=False')
        shuffle = False
    with torch_distributed_zero_first(rank):  # init dataset *.cache only once if DDP
        dataset = LoadImagesAndLabels(path, imgsz, batch_size,
                                      augment=augment,  # augmentation
                                      hyp=hyp,  # hyperparameters
                                      rect=rect,  # rectangular batches
                                      cache_images=cache,
                                      single_cls=single_cls,
                                      stride=int(stride),
                                      pad=pad,
                                      image_weights=image_weights,
                                      prefix=prefix)

    batch_size = min(batch_size, len(dataset))
    nd = torch.cuda.device_count()  # number of CUDA devices
    nw = min([os.cpu_count() // max(nd, 1), batch_size if batch_size > 1 else 0, workers])  # number of workers
    sampler = None if rank == -1 else distributed.DistributedSampler(dataset, shuffle=shuffle)
    loader = DataLoader if image_weights else InfiniteDataLoader  # only DataLoader allows for attribute updates
    return loader(dataset,
                  batch_size=batch_size,
                  shuffle=shuffle and sampler is None,
                  num_workers=nw,
                  sampler=sampler,
                  pin_memory=True,
                  collate_fn=LoadImagesAndLabels.collate_fn4 if quad else LoadImagesAndLabels.collate_fn), dataset

三、查看官方的Dataload函数

num_workers (int, optional) – how many subprocesses to use for data loading. 0 
means that the data will be loaded in the main process. (default: 0)

该参数是指在进行数据集加载时,启用的线程数目。

四、在参数里面设置 num_works = 0

问题解决。

train: weights=, cfg=./models/yolov5s-se-ghost.yaml, data=data\PV_Data\PV.yaml, hyp=data\hyps\hyp.scratch-low.yaml, epochs=300, batch_size=16, imgsz=640, rect=False, resume=False, nosave=False, noval=False, noautoanchor=False, evolve=None, bucket=, cache=None, image_weights=False, device=, multi_scale=False, single_cls=False, optimizer=SGD, sync_bn=False, workers=0, project=runs\train, name=exp, exist_ok=False, quad=False, cos_lr=False, label_smoothing=0.0, patience=100, freeze=[0], save_period=-1, local_rank=-1, entity=None, upload_dataset=False, bbox_interval=-1, artifact_alias=latest
github: skipping check (not a git repository), for updates see https://github.com/ultralytics/yolov5
YOLOv5  2022-2-22 torch 1.9.0+cu102 CUDA:0 (GeForce RTX 2080 Ti, 11264MiB)

hyperparameters: lr0=0.01, lrf=0.01, momentum=0.937, weight_decay=0.0005, warmup_epochs=3.0, warmup_momentum=0.8, warmup_bias_lr=0.1, box=0.05, cls=0.5, cls_pw=1.0, obj=1.0, obj_pw=1.0, iou_t=0.2, anchor_t=4.0, fl_gamma=0.0, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=0.0, translate=0.1, scale=0.5, shear=0.0, perspective=0.0, flipud=0.0, fliplr=0.5, mosaic=1.0, mixup=0.0, copy_paste=0.0
Weights & Biases: run 'pip install wandb' to automatically track and visualize YOLOv5  runs (RECOMMENDED)
TensorBoard: Start with 'tensorboard --logdir runs\train', view at http://localhost:6006/
Overriding model.yaml nc=2 with nc=3

                 from  n    params  module                                  arguments
  0                -1  1      3520  models.common.Conv                      [3, 32, 6, 2, 2]
  1                -1  1     18560  models.common.Conv                      [32, 64, 3, 2]
  2                -1  1      3440  models.common.GhostBottleneck           [64, 64, 3, 1]
  3                -1  1     18784  models.common.GhostBottleneck           [64, 128, 3, 2]
  4                -1  3     32928  models.common.GhostBottleneck           [128, 128, 3, 1]
  5                -1  1      2184  models.common.SElayer                   [128, 16]
  6                -1  1     66240  models.common.GhostBottleneck           [128, 256, 3, 2]
  7                -1  3    115008  models.common.GhostBottleneck           [256, 256, 3, 1]
  8                -1  1      8464  models.common.SElayer                   [256, 16]
  9                -1  1   1180672  models.common.Conv                      [256, 512, 3, 2]
 10                -1  1    656896  models.common.SPPF                      [512, 512, 5]
 11                -1  1     33312  models.common.SElayer                   [512, 16]
 12                -1  1    142208  models.common.GhostBottleneck           [512, 512, 3, 1]
 13                -1  1      1024  models.common.DWConv                    [512, 256, 1, 1]
 14                -1  1         0  torch.nn.modules.upsampling.Upsample    [None, 2, 'nearest']
 15           [-1, 8]  1         0  models.common.Concat                    [1]
 16                -1  1      5120  models.common.DWConv                    [512, 256, 3, 1]
 17                -1  1     38336  models.common.GhostBottleneck           [256, 256, 3, 1]
 18                -1  1       512  models.common.DWConv                    [256, 128, 1, 1]
 19                -1  1         0  torch.nn.modules.upsampling.Upsample    [None, 2, 'nearest']
 20           [-1, 5]  1         0  models.common.Concat                    [1]
 21                -1  1      2560  models.common.DWConv                    [256, 128, 3, 1]
 22                -1  1     10976  models.common.GhostBottleneck           [128, 128, 3, 1]
 23                -2  1      1408  models.common.DWConv                    [128, 128, 3, 2]
 24          [-1, 18]  1         0  models.common.Concat                    [1]
 25                -1  1     38336  models.common.GhostBottleneck           [256, 256, 3, 1]
 26                -2  1      2816  models.common.DWConv                    [256, 256, 3, 2]
 27          [-1, 13]  1         0  models.common.Concat                    [1]
 28                -1  1    142208  models.common.GhostBottleneck           [512, 512, 3, 1]
 29      [22, 25, 28]  1     21576  models.yolo.Detect                      [3, [[10, 13, 16, 30, 33, 23], [30, 61, 62, 45, 59, 119], [116, 90, 156, 198, 373, 326]], [128, 256, 512]]
E:\Anaconda3\envs\yolov550\lib\site-packages\torch\_tensor.py:575: UserWarning: floor_divide is deprecated, and will be removed in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values.
To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor'). (Triggered internally at  ..\aten\src\ATen\native\BinaryOps.cpp:467.)
  return torch.floor_divide(self, other)
Model Summary: 412 layers, 2547088 parameters, 2547088 gradients, 5.5 GFLOPs

Scaled weight_decay = 0.0005
optimizer: SGD with parameter groups 73 weight (no decay), 82 weight, 82 bias
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BrokenPipeError: [Errno 32] Broken pipe 的相关文章

  • 如何查看Databricks中的所有数据库和表

    我想列出 Azure Databricks 中每个数据库中的所有表 所以我希望输出看起来像这样 Database Table name Database1 Table 1 Database1 Table 2 Database1 Table
  • Python:在列表理解本身中引用列表理解?

    这个想法刚刚出现在我的脑海中 假设您出于某种原因想要通过 Python 中的列表理解来获取列表的唯一元素 i if i in created comprehension else 0 for i in 1 2 1 2 3 1 2 0 0 3
  • Django 代理模型的继承和多态性

    我正在开发一个我没有启动的 Django 项目 我面临着一个问题遗产 我有一个大模型 在示例中简化 称为MyModel这应该代表不同种类的物品 的所有实例对象MyModel应该具有相同的字段 但方法的行为根据项目类型的不同而有很大差异 到目
  • Python 中的 Lanczos 插值与 2D 图像

    我尝试重新缩放 2D 图像 灰度 图像大小为 256x256 所需输出为 224x224 像素值范围从 0 到 1300 我尝试了两种使用 Lanczos 插值来重新调整它们的方法 首先使用PIL图像 import numpy as np
  • Django 管理员在模型编辑时间歇性返回 404

    我们使用 Django Admin 来维护导出到我们的一些站点的一些数据 有时 当单击标准更改列表视图来获取模型编辑表单而不是路由到正确的页面时 我们会得到 Django 404 页面 模板 它是偶尔发生的 我们可以通过重新加载三次来重现它
  • 使 django 服务器可以在 LAN 中访问

    我已经安装了Django服务器 可以如下访问 http localhost 8000 get sms http 127 0 0 1 8000 get sms 假设我的IP是x x x x 当我这样做时 从同一网络下的另一台电脑 my ip
  • 从字符串中删除识别的日期

    作为输入 我有几个包含不同格式日期的字符串 例如 彼得在16 45 我的生日是1990年7月8日 On 7 月 11 日星期六我会回家 I use dateutil parser parse识别字符串中的日期 在下一步中 我想从字符串中删除
  • 如何在 Python 中检索 for 循环中的剩余项目?

    我有一个简单的 for 循环迭代项目列表 在某些时候 我知道它会破裂 我该如何退回剩余的物品 for i in a b c d e f g try some func i except return remaining items if s
  • 是否可以忽略一行的pyright检查?

    我需要忽略一行的pyright 检查 有什么特别的评论吗 def create slog group SLogGroup data Optional dict None SLog insert one SLog group group da
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • 如何使用 OpencV 从 Firebase 读取图像?

    有没有使用 OpenCV 从 Firebase 读取图像的想法 或者我必须先下载图片 然后从本地文件夹执行 cv imread 功能 有什么办法我可以使用cv imread link of picture from firebase 您可以
  • BeautifulSoup 中的嵌套标签 - Python

    我在网站和 stackoverflow 上查看了许多示例 但找不到解决我的问题的通用解决方案 我正在处理一个非常混乱的网站 我想抓取一些数据 标记看起来像这样 table tbody tr tr tr td td td table tr t
  • 如何在ipywidget按钮中显示全文?

    我正在创建一个ipywidget带有一些文本的按钮 但按钮中未显示全文 我使用的代码如下 import ipywidgets as widgets from IPython display import display button wid
  • 向 Altair 图表添加背景实心填充

    I like Altair a lot for making graphs in Python As a tribute I wanted to regenerate the Economist graph s in Mistakes we
  • 对年龄列进行分组/分类

    我有一个数据框说df有一个柱子 Ages gt gt gt df Age 0 22 1 38 2 26 3 35 4 35 5 1 6 54 我想对这个年龄段进行分组并创建一个像这样的新专栏 If age gt 0 age lt 2 the
  • 类型错误:预期单个张量时的张量列表 - 将 const 与 tf.random_normal 一起使用时

    我有以下 TensorFlow 代码 tf constant tf random normal time step batch size 1 1 我正进入 状态TypeError List of Tensors when single Te
  • Scrapy:如何使用元在方法之间传递项目

    我是 scrapy 和 python 的新手 我试图将 parse quotes 中的项目 item author 传递给下一个解析方法 parse bio 我尝试了 request meta 和 response meta 方法 如 sc
  • 从列表指向字典变量

    假设你有一个清单 a 3 4 1 我想用这些信息来指向字典 b 3 4 1 现在 我需要的是一个常规 看到该值后 在 b 的位置内读写一个值 我不喜欢复制变量 我想直接改变变量b的内容 假设b是一个嵌套字典 你可以这样做 reduce di
  • Python 类继承 - 诡异的动作

    我观察到类继承有一个奇怪的效果 对于我正在处理的项目 我正在创建一个类来充当另一个模块的类的包装器 我正在使用第 3 方 aeidon 模块 用于操作字幕文件 但问题可能不太具体 以下是您通常如何使用该模块 project aeidon P
  • Python Selenium:如何在文本文件中打印网站上的值?

    我正在尝试编写一个脚本 该脚本将从 tulsaspca org 网站获取以下 6 个值并将其打印在 txt 文件中 最终输出应该是 905 4896 7105 23194 1004 42000 放置的动物 的 HTML span class

随机推荐

  • 数字图像处理:OpenCV直方图均衡算法研究及模拟实现

    一 引言 在 数字图像处理 直方图均衡 Histogram Equalization 的原理及处理介绍 链接 https blog csdn net LaoYuanPython article details 119857829 中介绍了数
  • Linux搭建服务器之五:安装FTP(linux安装ftp)

    1 确认linux是否已经安装vsftp rpm qa grep vsftpd 若有则会显示 ftp版本号 若没有 则不显示 2 安装ftp yum y install vsftpd 安装后可以 执行一下第一步骤 看是否安装成功 3 添加f
  • 【DirectX11】第二篇 DirectX11渲染管线(2016.05.09更新)

    本系列文章主要翻译和参考自 Real Time 3D Rendering with DirectX and HLSL 一书 感谢原书作者 同时会加上一点个人理解和拓展 文章中如有错误 欢迎指正 这里是书中的代码和资源 本文索引 文章目录 t
  • SpringBoot+Vue项目图书个性化推荐系统

    文末获取源码 开发语言 Java 框架 springboot JDK版本 JDK1 8 服务器 tomcat7 数据库 mysql 5 7 8 0 数据库工具 Navicat11 开发软件 eclipse myeclipse idea Ma
  • Java学习之FileInputStream与FileReader的区别

    我们对于文件中数据的操作无非就有两种 读出与写入 对于Java来说 对数据的操作有字节流 FileOutputStream FileInputStream 与字符流 FileWriter FileReader 这两种方法其实差不多 都是从文
  • 基于人脸的常见表情识别(1)——深度学习基础知识

    基于人脸的常见表情识别 1 深度学习基础知识 神经网络 1 感知机 2 多层感知机与反向传播 卷积神经网络 1 全连接神经网络的2大缺陷 2 卷积神经网络的崛起 卷积神经网络的基本网络层 1 什么是卷积 2 填充 Padding 3 步长
  • regexp_split_to_table,regexp_split_to_array,array,unnest 使用

    实例1 select regexp split to table hello world s select regexp split to array hello world s postgres select regexp split t
  • 2019年秋招多益前端笔试

    2019年秋招多益前端笔试
  • C++ Primer Plus 第一章

    C 简介 C 是在C语言基础上开发的一种集 面向对象编程 泛型编程和传统的过程化编程于一体的编程语言 是C语言的超集 C 面向对象的特性带来了全新的编程方法 这种方法是为应对复杂程度不断提高的现代编程任务而设计的 C 融合了3种不同的编程方
  • uniapp 用 uView 组件库中的u-picker 实现地区的 省-市-区 三级联动

    组件的引入就不多赘述了 直接看使用方法 地址我是引入的json文件数据结构大概是这个样子 例1 例2 1 先做个按钮做弹窗显示
  • linux-malloc底层实现原理

    本文大致讲解一下linux下malloc的底层实现原理 首先malloc肯定是从堆中分配内存 而堆又在用户空间中占据什么位置 通过下面这张图可以看出来 很明显是32位系统 寻址空间是4G linux系统下0 3G是用户模式 3 4G是内核模
  • python itertools模块chain函数功能详解 itertools.chain(*iterable)

    Itertools模块 itertools提供了高效快捷的用于操作迭代对象的函数 通过使用这个模块 可以简化代码 Itertools chain语法 Itertools chain iterables 代表接受可变的参数 iterables
  • 数字图像去噪典型算法及matlab实现

    转自 http gaochaojs blog 51cto com 812546 243961 图像去噪是数字图像处理中的重要环节和步骤 去噪效果的好坏直接影响到后续的图像处理工作如图像分割 边缘检测等 图像信号在产生 传输过程中都可能会受到
  • MAC下如何删除idea

    MAC下如何删除idea 进入访达 点击应用程序列表 找到idea 右键或者拖动到废纸篓 打开终端 进入自己用户名下的Library目录 一般刚打开就在自己用户名下 cd Users 你的用户名 Library 使用cd命令分别进入Logs
  • BUUCTF-EasySQL

    这是一道蛮基础的sql注入的题 打开题目 一个具有黑客色彩的登陆页面 emm 没有注册窗口 在用户名或密码处加个单引号发现报错 判断是字符型注入 通过万能密码登陆注入进去 username admin or 1 1 password 拿到f
  • 出现org.apache.http.NoHttpResponseException

    摘要 spring resttemplate使用httpclient4 4 连接池 出现org apache http NoHttpResponseException 10 0 0 25 8080 failed to respond异常的解
  • YOLOV5加速之TensorRT篇

    之前写过一篇Android版本yolov5s的博客 最近工作搞了下TensorRT 也遇到几个坑不过最终还是实现了 做一下小小的分享 这里直接上github上大牛的连接 我的代码是在他的基础上改的 里面有很多模型的加速直接看里面的yolov
  • 如何利用JS生成二维码

    问题来源 最近在做一个项目 有这么个需求 通过生成二维码来实现网页的分享 问题分析 脑海的第一反应 当然是用js来实现 自己手写 当然不是 解决方案 使用 QRCode js QRCode js 是一个用于生成二维码的 JavaScript
  • Unity 游戏背景音乐突然消失,AudioSource却还在游戏场景中(更新中)

    查看AudioSource isVirtual 是否为True 如果是则音效被系统剔除 音效被系统剔除原因 1 音效某一时刻播放的次数太多
  • BrokenPipeError: [Errno 32] Broken pipe

    BrokenPipeError Errno 32 Broken pipe 前言 今天在训练yolov5 6 1版本 突然出现BrokenPipeError Errno 32 Broken pipe错误 一 运行命令python train