RuntimeError: DataLoader worker (pid(s) 46220) exited unexpectedly

2023-11-08

在这里插入图片描述

raise RuntimeError(‘DataLoader worker (pid(s) {}) exited unexpectedly’.format(pids_str)) from e
   RuntimeError: DataLoader worker (pid(s) 46220) exited unexpectedly

其实吧,这个问题说难不难,说简单也简单。
出现这个Error很明显,就是CPU加载数据和GPU处理数据速度不匹配了,而且不是以往那种CPU利用率拉满,而GPU虽然占用率拉满,但实际利用率不高的情况。打个比方,以前是cpu加载数据要个20-30s,但gpu零点几秒就处理完成了,从而一直等待。这种情况只会让模型运行时间变长而已。

torch.utils.data.DataLoader(datasets[x], batch_size=batch_size, shuffle=True, num_workers=8, pin_memory=True)

现在则是两极反转,Dataloader的batchsize设置的比较大(64,128),而且还使用多个num_workers去多进程load数据,比如16-32个,甚至还把pin_memory设为True了。导致cpu加载数据快到飞起,反而GPU跟不上了,就会出现异常,然后杀死进程,出现如上结果。

解决方案

就是根据以上提的三点来呗

  1. batchsize减小
  2. num_workers设的小一点,比如2,甚至不设置(默认为1)
  3. pin_memory = False

以上3点使用一至两种一般就能解决,不行就都用。

并且把数据加载,预/后处理这种IO任务让GPU去做, load checkpoint的时候 map_location也别设成cpu了,这么拉后腿,肯定可以成功。

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

RuntimeError: DataLoader worker (pid(s) 46220) exited unexpectedly 的相关文章

  • 需要根据数据框中的行号应用不同的公式

    我正在努力在数据框中找到某种移动平均值 该公式将根据正在计算的行数而变化 实际场景是我需要计算Z列 Edit 2 以下是我正在使用的实际数据 Date Open High Low Close 0 01 01 2018 1763 95 176
  • 如何在plotly(python)中的刻度标签和图形之间添加空格?

    如果我使用绘图创建水平条形图 则每个条形的标签都与图表相对应 我想在标签和图表之间添加一些空间 填充 边距 我怎样才能做到这一点 Example import plotly offline as py import plotly graph
  • Asyncio:从未检索到任务异常的怪异

    假设我有一个简单的代码 import asyncio async def exc print 1 0 loop asyncio get event loop loop create task exc try loop run forever
  • cxfreeze virtualenv 中缺少 distutils 模块

    从 python3 2 项目运行 cxfreeze 二进制文件时 我收到以下运行时错误 project dist project distutils init py 13 UserWarning The virtualenv distuti
  • 使用 python 从 CSV 创建字典

    我有一个 CSV 格式的文件 其中 A B 和 C 是标题 我如何以Python方式将此CSV转换为以下形式的字典 A 1 B 4 C 7 A 2 B 5 C 8 A 3 B 6 C 9 到目前为止我正在尝试以下代码 import csv
  • Pandas 中每列的曲线拟合 + 外推值

    我有一个包含大约 300 列的数据集 每一列都与深度相关 Pandas DataFrame 的简化版本看起来像这样 import matplotlib pyplot as plt import numpy as np import pand
  • 类变量:“类列表”与“类布尔值”[重复]

    这个问题在这里已经有答案了 我不明白以下示例的区别 一次类的实例可以更改另一个实例的类变量 而另一次则不能 示例1 class MyClass object mylist def add self self mylist append 1
  • Pygame:有人可以帮我实现双跳吗?

    我知道已经有其他关于此问题的帖子了 但我的运动系统与我发现的有点不同 所以随后我问这个问题 我的运动系统基于一个名为的命名元组Move up left right down 然后就是这个 def update self move block
  • 在python中使用编解码器utf-8打开文件错误

    我在 windows xp 和 python 2 6 4 上执行以下代码 但它显示 IOError 如何打开名称带有 utf 8 编解码器的文件 gt gt gt open unicode txt euc kr encode utf 8 T
  • 将 str.contains 映射到 pandas DataFrame

    python 初学者 我正在寻找创建字符串的字典映射以及关联的值 我有一个数据框 想要创建一个新列 如果字符串匹配 则会将该列标记为 x df pd DataFrame comp dell notebook dell notebook S3
  • 列表中的特定范围(python)

    我有一个从文本字符串中提取的整数列表 因此当我打印该列表 我称之为test I get 135 2256 1984 3985 1991 1023 1999 我想打印或制作一个仅包含特定范围内的数字的新列表 例如1000 2000之间 我尝试
  • 在Python中随机交错2个数组

    假设我有两个数组 a 1 2 3 4 b 5 6 7 8 9 我想将这两个数组交错为变量 c 注意 a 和 b 不一定具有相同的长度 但我不希望它们以确定性的方式交错 简而言之 仅仅压缩这两个数组是不够的 我不想要 c 1 5 2 6 3
  • 解析整数集的字符串并列出间隔

    I have 2 5 7 9 12 string 我想从中获取 2 5 7 8 9 12 列表 python中有没有内置的函数 Thanks UPD 我想 直接的答案是No 不管怎样 谢谢你的 片段 使用一个 建议者斯文 马尔纳克 s 2
  • python 中的 F 字符串前缀给出语法错误[重复]

    这个问题在这里已经有答案了 我有一个名为 method 的变量 它的值是 POST 但是当我尝试运行时print f method method is used 它不断在最后一个双引号处给出语法错误 我找不到它这样做的原因 我正在使用 py
  • 为数据集生成随机 JSON 结构排列

    我想生成 JSON 结构的许多不同排列作为同一数据集的表示 最好不需要对实现进行硬编码 例如 给定以下 JSON name smith occupation agent enemy humanity nemesis neo 应该产生许多不同
  • 尝试 numba 时出现巨大错误

    我在使用 numba 时遇到了大量错误 讽刺的是 正确的结果是在错误之后打印的 我正在使用最新的 Anaconda python 并安装了 numba conda install numba 一次在 Ubuntu 13 64 位和 anac
  • 如何创建简单的梯度下降算法

    我正在研究简单的机器学习算法 从简单的梯度下降开始 但在尝试用 python 实现它时遇到了一些麻烦 这是我试图重现的示例 我获得了有关房屋的数据 居住面积 以英尺为单位 和卧室数量 以及最终的价格 居住面积 英尺2 2104 卧室 3 价
  • 在自定义 keras 层的调用函数中传递附加参数

    我创建了一个自定义 keras 层 目的是在推理过程中手动更改前一层的激活 以下是基本层 它只是将激活值乘以一个数字 import numpy as np from keras import backend as K from keras
  • 如何使用 keras.backend.gradients() 获取梯度值

    我试图获得 Keras 模型的输出相对于模型输入 x 而不是权重 的导数 似乎最简单的方法是使用 keras backend 中的 梯度 它返回梯度张量 https keras io backend https keras io backe
  • 如何在不同的目录中执行python脚本?

    Solved对于可能觉得这有帮助的人 请参阅下面我的答案 我有两个脚本 a py 和 b py 在我当前的目录 C Users MyName Desktop MAIN 中 我运行 gt python a py 第一个脚本 a py 在我当前

随机推荐

  • Pytorch中的torch.nn.Linear()方法的详解

    torch nn Linear 作为深度学习中最简单的线性变换方法 其主要作用是对输入数据应用线性转换 先来看一下官方的解释及介绍 class Linear Module r Applies a linear transformation
  • 学习Kotlin看哪些书?【赠书活动|第八期《深入实践Kotlin元编程》】

    文章目录 图书简介 01 深入实践Kotlin元编程 02 Spring Boot学习指南 03 Kotlin编程实战 抽奖方式 与Java一样 Kotlin也是用于Android应用程序开发的编程语言 是Android官方支持的第二种编程
  • 对某擦边站点的一次渗透

    更新时间 2022 07 05 2022年11月21日21 50 12 1 说明 在上半年的时候 在线浏览网页的时候 突然跳转到了一个sese的界面 然后要下载app 本着弹出即下载的原则 我就欣然安装了 app本身长这样 打开之后是这样的
  • NFS 高可用方案(NFS+keepalived+Sersync)

    NFS 高可用方案 NFS keepalived Sersync 1 简述 1 1 介绍 本方案 NFS 的高可用方案 应用服务器为 Client 两台文件服务器分别Master和 Slave 使用 keepalived 生成一个虚拟 IP
  • 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。。。。

    给定一个仅包含数字 2 9 的字符串 返回所有它能表示的字母组合 给出数字到字母的映射如下 与电话按键相同 注意 1 不对应任何字母 示例 输入 23 输出 ad ae af bd be bf cd ce cf 说明 尽管上面的答案是按字典
  • Android开发需要知道的5个设计模式

    设计模式是软件设计中给定上下文中常见问题的通用 可重用解决方案 设计模式是对经常出现的问题的解决方案 设计模式不是成品 相反 它们是可以根据上下文应用于多种情况的模板 并且可以随着时间的推移进行改进 从而成为非常强大的软件工程工具 设计模式
  • 【单片机毕业设计】【mcuclub-dz-060】基于单片机的智能衣柜控制系统

    最近设计了一个项目基于单片机的智能衣柜控制系统 与大家分享一下 一 基本介绍 项目名 智能衣柜 项目编号 mcuclub dz 061 单片机 STC89C52 功能简介 1 通过DHT11检测衣柜内温湿度 当温度或湿度超过上限值 则启动风
  • MySQL递归查询——数据平坦化新思维

    最近在做Oracle到MySQL的数据库的移植过程 两者之间的诸多差别 比如MySQL不支持ADO 函数不一致 唯一索引限制不一样等等 都易于解决 但有一个问题却困扰我们良久 Oracle的递归查询 select from start wi
  • 【C++学习第六讲】第一章练习题(含源代码)

    显示自己的姓名和地址 就是简单使用cout函数进行输出 源代码如下 include
  • CentOS7 快速搭建VNC Server 实现服务器远程控制台访问(Java Viewer)

    CentOS7 快速搭建VNC Server 实现服务器远程控制台访问 Java Viewer 前言 工作中会有使用到VNC的时候 尤其是做服务器运维相关工作的时候 往往远程管理网和办公网或者生产环境相互隔离 远程管理的工作就会变的复杂 因
  • Vue.js学习笔记

    在开始学习Vue js的时候 为了加深记忆 也为了日后在翻阅的时候可以快速找到自己想要的东西 特此在这里记录下我认为需要记录的知识点 在这里也分享给大家 希望可以给需要的你们提供一些帮助 具体内容还请看 Vue js官网 双向数据绑定 指令
  • java merkle树,Merkle树的实现

    简介 本篇文章是对Merkle tree的解释 Merkle tree是一种应用在比特币中的技术 本文的目标是通过代码来理解它的实现过程 环境 Jdk 1 8 0 66 Idea Merkle树 Merkle tree 哈希树 是一种数据结
  • JavaScript switch语句和循环

    1 switch 语句 1 用于基于不同的条件来执行不同的动作 2 如何使用switch结构 备注 default 关键词来规定匹配不存在时做的事情 3 比较switch和多重if结构 相同点 都可以实现多分支结构 不同点 switch 只
  • JavaScript 判断数组和对象

    有时候 我们需要识别一个变量是数组还是对象 例如进行深拷贝时 这里提供三种方法识别数组还是对象 1 Array isArray Array isArray 用于确定传递的值是否是一个Array 2 constructor 数组的构造函数是A
  • 数据分析工具--pandas

    一 简介 1 1定义 Pandas是一个强大的分析结构化数据的工具集 它的使用基础是Numpy 提供高性能的矩阵运算 用于数据挖掘和数据分析 同时也提供数据清洗功能 Pandas 是 Python 的核心数据分析支持库 提供了快速 灵活 明
  • 鲁棒性

    鲁棒性 鲁棒是Robust的音译 也就是健壮和强壮的意思 它是在异常和危险情况下系统生存的关键 比如说 计算机 软件在输入错误 磁盘故障 网络过载或有意攻击情况下 能否不死机 不崩溃 就是该软件的鲁棒性 所谓 鲁棒性 是指控制系统在一定 结
  • react 配置组件路径引用 @ 来表示src根路径

    create react app 创建的项目 看不到 webpack 相关的配置文件 需要先暴露出来 使用如下命令即可 npm run eject 在config中修改配置文件 webpack config js resolve alias
  • Java的类名与文件名必须一致

    1 Java保存的文件名必须与类名一致 2 如果文件中只有一个类 文件名必须与类名一致 3 一个Java文件中只能有一个public类 4 如果文件中不止一个类 文件名必须与public类名一致 5 如果文件中不止一个类 而且没有publi
  • TrueType入门:基本概念

    奇技指南 本文作者李松峰 资深技术图书译者 翻译出版过40余部技术及交互设计专著 现任360奇舞团Web前端开发资深专家 360前端技术委员会委员 W3C AC代表 本文转载自奇舞周刊 OpenType是TrueType的扩展 本文全流程介
  • RuntimeError: DataLoader worker (pid(s) 46220) exited unexpectedly

    raise RuntimeError DataLoader worker pid s exited unexpectedly format pids str from e RuntimeError DataLoader worker pid