导入torch后Matplotlib绘图致Jupyter内核崩溃问题求助
解决方案
1. 切换Matplotlib后端
Matplotlib默认后端可能和CUDA版Torch存在资源冲突,先强制指定非交互式后端再导入库:
import matplotlib matplotlib.use('Agg') # 先设置后端,再导入绘图库 import matplotlib.pyplot as plt import seaborn as sns import torch
如果需要交互式绘图,也可以换成'TkAgg'或'Qt5Agg',前提是系统有对应依赖支持。
2. 用conda统一安装所有依赖
你当前是conda建环境后混用pip装库,很容易出现依赖版本不兼容。直接全用conda重新搭建环境:
# 删除原有环境,从头创建 conda remove -n your_env_name --all conda create -n your_env_name python=3.10.9 conda activate your_env_name # 安装CUDA 11.8版PyTorch(用conda官方源) conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia # 一次性装完数据科学和绘图库 conda install numpy pandas matplotlib seaborn jupyter
conda会自动协调所有依赖版本,避免pip和conda混合安装带来的冲突。
3. 临时禁用Torch的CUDA支持(排查问题)
内核崩溃大概率是CUDA初始化和绘图后端的资源竞争,先骗Torch只用CPU试试:
import torch torch.cuda.is_available = lambda : False # 让Torch认为没有CUDA import matplotlib.pyplot as plt import seaborn as sns # 测试绘图 sns.lineplot(x=[1,2,3], y=[4,5,6]) plt.show()
如果这样不崩溃,说明问题出在CUDA版Torch和绘图库的GPU资源冲突上,要么更新显卡驱动到最新版,要么换CUDA 11.7版本的Torch试试。
4. 确认Jupyter内核关联正确
别让Jupyter用错环境内核,激活环境后重新安装内核:
conda install ipykernel python -m ipykernel install --user --name=your_env_name
打开Jupyter后,切换到这个新安装的内核再测试。
5. 关闭Matplotlib的GPU加速
部分Matplotlib版本会自动尝试GPU渲染,和Torch的CUDA调用冲突,手动关闭:
import os os.environ['MPLBACKEND'] = 'Agg' # 先设置环境变量 import matplotlib.pyplot as plt import seaborn as sns import torch
内容的提问来源于stack exchange,提问作者Ramon Griffo
相关产品推荐
相关产品推荐

