导入火炬库后绘制图形时内核一直死机

Posted

技术标签:

【中文标题】导入火炬库后绘制图形时内核一直死机【英文标题】:Kernel keeps dying when plotting a graph after importing the torch library 【发布时间】:2021-01-20 18:22:52 【问题描述】:

我正在尝试运行以下代码:

import matplotlib.pyplot as plt
%matplotlib inline
import torch

x = y = torch.tensor([1,2,3]).numpy()
plt.plot(x,y);

我不断收到消息:The kernel appears to have died. It will restart automatically. 并在工具栏上重新启动和一个红色的“死内核”标签。

但奇怪的是,如果我导入matplotlib.pyplot 并先绘制一些随机图,上面的代码就可以了。换句话说,下面的代码可以正常工作。

import matplotlib.pyplot as plt
%matplotlib inline

plt.subplots(figsize=(0.01,0.01))
plt.gca().set_visible(False);

import torch
x = torch.tensor([1,2,3]).numpy()

plt.plot(x,x);

这里发生了什么?如果重要的话,我在 Python 3.7.7 上使用 numpy 1.18.5、pytorch 1.6.0、matplotlib 3.2.2。谢谢。

【问题讨论】:

我也有同样的问题。如果我注释掉 import torch 行,我的代码可以正常工作,并且我会得到一个漂亮的图像。但是如果我在运行 plt 命令之前导入torch,内核就会死掉 你自己解决了吗?如果是这样,您能否发布您的解决方案?我想问一些与您的问题类似(和相关)的问题,但是我的帐户被禁止了,我需要一些新的想法来解决我的类似问题而无需询问 ***(我需要得到支持才能做到这一点......) .谢谢 【参考方案1】:
import os
os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"

先运行它,然后它会解决您的问题。虽然我猜,这是一个临时解决方案,你可以参考这个链接:https://www.programmersought.com/article/53286415201/

【讨论】:

以上是关于导入火炬库后绘制图形时内核一直死机的主要内容,如果未能解决你的问题,请参考以下文章

Python机器学习(六十七)Matplotlib 图形绘制

使用Python--Matplotlib绘制三维图形

Java入门:绘制简单图形

emWin 界面切换注意事项

使用带有两个列表的matplotlib绘制图形

停止 seaborn 在彼此之上绘制多个图形