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

深度学习中用Matplotlib显示图像触发NotFoundError报错求助

报错原因

这个报错是文件读取阶段触发的,和后续Matplotlib绘图逻辑无关,核心是TensorFlow无法按解析出的路径找到目标图像文件,常见诱因有3种:

  • 路径包含特殊字符:你的数据集存放路径中存在[TutsNode.com]这类方括号特殊字符,Windows环境下TensorFlow的底层文件读取接口对这类特殊字符兼容性差,会出现路径解析错位,最终查找的文件位置和实际存储位置不匹配。
  • 目标文件实际缺失:报错信息中提到的auntminnie-a-2020_01_28_23_51_6665_2020_01_28_Vietnam_coronavirus.jpeg可能本身不存在于对应Covid目录下,诱因包括数据集解压不完整、文件被杀毒软件误删、文件名后缀不匹配(比如实际存储为.jpg但代码识别为.jpeg、文件名存在多余空格/特殊字符)。
  • 路径长度超限:你的文件全路径嵌套层级过深,总长度很容易超过Windows默认的260字符路径访问限制,导致系统拒绝访问对应文件。
修复方案

按优先级从高到低操作即可:

  1. 简化数据集根路径,清除特殊字符
    将整个covid19数据集文件夹直接剪切到磁盘浅层目录,比如D:\datasets\covid19\,确保全路径不包含方括号、中文、其他特殊符号,同时给路径字符串加r前缀避免Windows反斜杠转义问题,修改后的加载代码参考:
# 替换为你自己移动后的测试集路径
test_path = r"D:\datasets\covid19\test"
val_ds = tf.keras.preprocessing.image_dataset_from_directory(
    test_path,
    image_size=(img_height, img_width), 
    label_mode='int', 
    batch_size=batch_size
)
# 类名不要手动编写,直接从数据集对象获取,避免顺序不匹配
class_name = val_ds.class_names
  1. 校验目标文件完整性
    打开测试集下的Covid文件夹,手动查找报错提到的jpeg文件:
  • 如果找不到文件,关闭杀毒软件后重新解压完整数据集,避免解压过程中文件被拦截、损坏
  • 如果文件存在但文件名/后缀和报错信息里的不一致,统一修正文件名即可
  1. 可选:解除Windows长路径限制
    如果不想移动数据集位置,可以按Win+R输入gpedit.msc打开本地组策略编辑器,依次找到「计算机配置>管理模板>系统>文件系统>启用Win32长路径」,将其设置为「已启用」后重启电脑,即可解除260字符的路径长度限制。

内容的提问来源于stack exchange,提问作者Nana qweku Yeboah

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 15:45:49