You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

plt.imshow()导致Jupyter Notebook内核崩溃问题求助

解决plt.imshow显示PyTorch张量导致Jupyter内核崩溃的问题

核心问题分析

从你给出的OpenMP错误日志来看,根本原因是多份OpenMP运行时库(libiomp5md.dll)冲突,加上PyTorch张量直接传入plt.imshow时的兼容性问题共同导致了内核崩溃。以下是针对性的解决步骤:


1. 解决OpenMP库冲突

临时验证方案

在Jupyter Notebook最开头添加代码,通过环境变量绕开冲突:

import os
os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"

或者在启动Jupyter前,在命令行执行对应指令:

# Windows系统
set KMP_DUPLICATE_LIB_OK=TRUE
# Linux/macOS系统
export KMP_DUPLICATE_LIB_OK=TRUE

执行完成后再启动Jupyter Notebook。

彻底修复方案(推荐)

找到你的Python环境中重复存在的libiomp5md.dll文件(通常Anaconda和PyTorch会各自携带一份),将其中一份重命名(比如改为libiomp5md.dll.bak),确保系统仅加载单一版本的运行时库。


2. 修正代码中的关键问题

修复逻辑笔误

你的代码中N[ix2, ix2] += 1是错误写法,正确应为N[ix1, ix2] += 1——该笔误会导致矩阵仅对角线被赋值,虽然不是内核崩溃的直接原因,但会让后续可视化结果完全不符合预期。

转换PyTorch张量为Numpy数组

plt.imshow对Numpy数组的支持比PyTorch张量更稳定,将可视化代码修改为:

plt.imshow(N.numpy())

3. 调整Matplotlib后端设置

将%matplotlib inline提前到代码最开头,避免导入库后再切换后端的潜在问题:

%matplotlib inline
import matplotlib.pyplot as plt
import torch
# 后续读取文件、构建矩阵的代码...

内容的提问来源于stack exchange,提问作者Mark Cramer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 13:12:36