导入PyTorch后使用pandas.DataFrame.plot()会导致Jupyter核心崩溃。

4

我正在运行Windows 10,并使用以下库版本:

matplotlib  3.3.3
torch       1.7.0
pandas      1.1.4

当我从CSV加载数据框并在import torch之前绘制其数据时,没有任何问题。然而,如果我将所有导入语句放在笔记本的顶部,按照传统方式,我会收到一个崩溃的内核,并出现以下弹出消息:
“anom_detect_nn.ipynb的内核似乎已经死亡。它将自动重新启动。”
当我查看我的shell时,我看到两个错误消息:
OMP: 错误 #15:初始化libiomp5md.dll,但发现已经初始化了libiomp5md.dll。
OMP: 提示 这意味着程序中链接了多个OpenMP运行时。这是危险的,因为它可能会降低性能或导致错误结果。最好的方法是确保只有一个OpenMP运行时链接到进程中,例如避免在任何库中静态链接OpenMP运行时。作为一种不安全、不受支持、不文档化的解决方法,您可以设置环境变量KMP_DUPLICATE_LIB_OK=TRUE,以允许程序继续执行,但这可能会导致崩溃或默默地产生错误结果。有关更多信息,请参见http://www.intel.com/software/products/support/
看起来其他SO用户之前也遇到过这个问题,但所有的解决方案都适用于MacOS用户。我尝试过它们:
  1. conda install nomkl
  2. pip uninstall everything, pip install everything
  3. 我没有使用危险的解决方法KMP_DUPLICATE_LIB_OK=TRUE
由于上述步骤,整个设置现在变成了一个混乱的状态,我无法成功安装任何东西,已经成功安装的模块也不能被导入,会出现“找不到模块”的错误。
这真是一件烦心事,我已经快要崩溃了。我正在卸载我的系统上所有的Python,并重新开始。如果这个问题在我重新开始后仍然存在,有没有适用于Windows而不是Mac的解决方案?

我也遇到了这个问题:matplotlib可以正常工作,但是一旦我导入了torch,调用plt.subplots()就会导致内核崩溃。注释掉导入语句后,它就可以正常工作。 - Darren
1个回答

0

同样的问题。这个方法对我起作用:

  • import torch 之前放置 plt
  • 立即使用 imshow
  • import torch
  • 使用 imshow(就不会崩溃了)

我不知道为什么,但它可以用...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接