Matplotlib 与多处理冻结计算机

2024-05-18

我对 matplotlib 和多重处理有疑问。 我启动第一个进程,在其中显示图像并选择一个区域,然后关闭图形。然后我启动另一个进程,在其中调用定期更新的图形函数。至此,一切正常。 然后,当我尝试使用相同的图形功能启动另一个进程时,它冻结了我的整个计算机,但后台进程仍然工作...... 我只有以下错误之一(并不总是相同):

错误1:

XIO:X 服务器上出现致命 IO 错误 25(设备的 ioctl 不适当) “:0.0” 在 4438 个请求(已知已处理 4438 个)之后,还剩下 30 个事件。 XIO:致命 IO 错误 11(资源暂时不可用) 在 X 服务器上“:0.0” 在 4443 个请求(已知已处理 4443 个)之后,还剩下 31 个事件。 [xcb] 处理队列 [xcb] 时未知序列号 这很可能是一个多线程客户端,而 XInitThreads 还没有 被称为 [xcb] 正在中止,对此感到抱歉。 Python: ../../src/xcb_io.c:274: poll_for_event: 断言 `!xcb_xlib_threads_sequence_lost' 失败。

错误2:

X 请求失败的错误:BadIDChoice(选择的资源 ID 无效) 对于此连接)失败请求的主要操作码:53 (X_CreatePixmap) 失败请求中的资源 ID:0x5600299 串行 失败请求的数量:4793 输出中的当前序列号 流:4795 XIO:致命 IO 错误 25(设备的 ioctl 不合适) 在 X 服务器上“:0.0” 在 4788 个请求(已知已处理 4788 个)之后,还剩下 31 个事件。 XIO:致命 IO 错误 25(设备的 ioctl 不合适) X 服务器“:0.0” 在 4793 个请求(已知已处理 4793 个)之后,还剩下 32 个事件。

奇怪的是,我完全可以启动多个调用图形函数的进程,没有任何问题,这是与第一个图的耦合导致它不稳定。

当尝试调试时,我发现一个简单的fig=plt.figure()足以使一切崩溃:事实上,任何调用plt ...

我到处读到你可以强制 matplotlib 使用agg后端,它有助于多进程,但有些小部件不能使用它,所以我想避免这种情况。

我真的不明白为什么使用matplotlib在不同的过程中可能会导致问题,所以如果有人可以解释原因和/或帮助我找到解决方法,那就太好了。


我刚刚遇到了一个非常类似的问题,其中我有一个并行生成绘图的类。我第一次创建该类的新实例并运行绘图函数时,一切都运行良好。但如果我创建一个新的实例和情节,一切都会冻结。

我通过编写一个 bash 脚本来修复它,该脚本将依次运行一个带有单个类实例化 + 绘图调用代码的 python 脚本。换句话说,在一个绘图调用和下一个绘图调用之间关闭 python 可以使您的工作环境变得干净,计算机不会再冻结。这不是最佳解决方案,但它有效:)

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

Matplotlib 与多处理冻结计算机 的相关文章

随机推荐

  • Python - abs 与 fabs

    我注意到在Python中有两种类似的方法来查找数字的绝对值 First abs 5 Second import math math fabs 5 这些方法有何不同 math fabs https docs python org 2 libr
  • Oracle 上“描述”命令不起作用的原因是什么?

    我正在尝试在 oracle 上运行 describe table name 命令 我正在使用 dbeaver 来访问 oracle 但是 当我运行该命令时 它显示 SQLException 和错误消息 无效的 sql 语句 我该如何进行手术
  • 更改卡片高度即更改 Jetpack 中与 Material 3 组合的卡片颜色

    我正在使用 Card 可组合项 我希望它的颜色为白色 但是当我向它添加一些高度时 它的颜色会更改为更像主要容器颜色 我看过文档 其中有一种称为高程覆盖的东西 但找不到说明如何使用它的示例 这是我的代码 Card modifier Modif
  • Sympy:从表达式获取函数

    要从 sympy 表达式中获取所有变量 可以调用 free symbols在表达上 我想找回全部功能用在表达式中 例如 从y in from sympy import f Function f g Function g x Symbol x
  • Safari 的“阅读器模式” - 开源解决方案? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Safari 有一个 阅读器模式 可以删除网站上除文本之外的所有内容 有谁知道提供相同功能的开源库 或
  • if else 在 ansible 打印语句中

    我需要有关具有多个条件的打印语句的语法的帮助 目前 报价为 inventory hostname 导致错误 如果我删除剧本运行的引号 但列出文本 inventory hostname 而不是变量 我想知道如何打印变量以及 if else 语
  • C++ 获取 catch(...) 块中捕获的异常的描述

    我可以得到捕获的异常的描述吗 catch 堵塞 就像是 what std 异常 您可能可以使用一个技巧 catch handle exception void handle exception try throw catch const s
  • WebUSB API 和 PC/SC 智能卡读卡器

    是否在WebUSB API 起草的there https wicg github io webusb 能够使用 PC SC 设备 例如智能卡读卡器 或许假设它们符合 CCID 标准 许多设备接近这一标准并且可以使用通用驱动程序 如果是 是否
  • Django“和”Pinax 还是只是 Pinax?

    我正在开发一个个人项目 该项目已 完成 但现在我想添加一个社交应用程序 我认为 Pinax 已经为这项任务做好了准备 我想知道一些事情 我可以在我的项目中像 django 应用程序一样使用 pinax 吗 或者我需要使用 pinax 重新设
  • 如何使用 ObjectDataProvider 将枚举绑定到 XAML 中的 ComboBox

    我正在尝试绑定一个Enum to a ComboBox 我见过很多人使用ObjectDataProvider但我似乎无法访问它 我还注意到有些人在一段时间内使用它Window Resources 而不是Page Resources但我找不到
  • emacs 是否有类似 vims 的 NERDtree 之类的东西

    对于 vim 有一个名为 NERDtree 的文件系统浏览器 https github com scrooloose nerdtree https github com scrooloose nerdtree Emacs 确实存在替代或更好
  • 所需框架与静态库

    构建现代框架 https developer apple com videos play wwdc2014 416 says 每个应用程序都有自己的自定义框架副本 https stackoverflow com a 15262463 242
  • 无法获取未知等级的 Shape 长度

    我有一个神经网络 来自tf data数据生成器和tf keras模型 如下 简化版本 因为太长 dataset A tf data Dataset反对与next x方法调用get next为了x train迭代器和next y方法调用get
  • 在ubuntu 12.04上安装nodejs和npm后找不到.npmrc文件

    我刚刚按照教程在我的 ubuntu 12 04 上安装了 nodejs 和 npm https gist github com dwayne 2983873 https gist github com dwayne 2983873 现在安装
  • 什么是 S 表达式

    所有 Lisp 开发人员似乎都知道什么是 S 表达式 但有人能为非 Lisp 开发者解释一下这一点吗 已经有一个维基百科条目 https en wikipedia org wiki S expression https en wikiped
  • 如何在golang中解析JSON而不需要解组两次

    我有一个 Web 套接字连接 它在 JSON 对象中发送不同类型的消息 并且我想将内容解组到一些已知的结构中 为此 我认为我应该执行以下操作 步骤 1 将 JSON 解组为通用映射 字符串 接口 步骤 2 找到我要找的钥匙 步骤 3 尝试将
  • Shoulda/RSpec 匹配器 - 条件验证

    在我的代码中 我使用 Shoulda 匹配器进行了以下验证 效果很好 it should validate presence of name 在我的模型中 我已将条件添加到验证中 validates presence of name if
  • 通过引用传递向量

    如果我在一个类中有一个对象向量 我想在另一个类中更改它 我会尝试通过引用传递所有信息 我究竟需要通过引用传递什么 向量 物体 两个都 本质上我要问的是 它们之间有什么区别 vector blah A reference to a vecto
  • 如何在 Libgdx 中获取字符串宽度?

    我想知道如何获得width我的字符串的像素数 位图字体 API 测量宽度String你用你的Font并得到bounds of the String 你要画画了 BitmapFont getBounds String str width 位图
  • Matplotlib 与多处理冻结计算机

    我对 matplotlib 和多重处理有疑问 我启动第一个进程 在其中显示图像并选择一个区域 然后关闭图形 然后我启动另一个进程 在其中调用定期更新的图形函数 至此 一切正常 然后 当我尝试使用相同的图形功能启动另一个进程时 它冻结了我的整