当前位置: 首页 > news >正文

FileNotFoundError: [WinError 3] 系统找不到指定的路径。


💥 一、错误根因

错误核心是:

FileNotFoundError: [WinError 3] 系统找不到指定的路径。:
'C:\\Users\\Desktop\\NLPrompt-master\\data\\caltech-101\\101_ObjectCategories\\caltech-101\\101_ObjectCategories'

也就是说,程序在尝试访问这个路径:

C:\Users\Desktop\NLPrompt-master\data\caltech-101\101_ObjectCategories\caltech-101\101_ObjectCategories

你可以看到路径中出现了 重复的 caltech-101\101_ObjectCategories ——
这说明你的数据路径在配置中被拼接了两次。


🧩 二、错误来源分析

从调用栈看:

datasets\caltech101.py -> DTD.read_and_split_data(self.image_dir)

其中的 self.image_dir 是由配置文件中 cfg.DATASET.ROOT 和数据集内部定义路径拼接而成的。

也就是说:

  • 你在命令行里传入了:

  • datasets/caltech101.py 里又写着类似:

    self.image_dir = osp.join(self.root, "caltech-101", "101_ObjectCategories")
    

这就导致路径变成了:

...data\caltech-101\101_ObjectCategories\caltech-101\101_ObjectCategories

⟹ 于是报错。


✅ 三、解决方案(选其一)

✅ 方案一(推荐)

修改命令行参数中的 --root 为数据集上层目录,而不是包含子文件夹的完整路径

即改成:

python train.py ^
--root "C:\Users\lxl\Desktop\NLPrompt-master\data" ^
--seed 1 ^
--trainer NLPrompt ^
--dataset-config-file configs\datasets\caltech101.yaml ^
--config-file configs\trainers\NLPrompt\rn50.yaml ^
--output-dir output\caltech101\NLPrompt\rn50_16shots\noise_sym_0.50\seed1 ^
DATASET.NUM_SHOTS 16 ^
DATASET.NOISE_RATE 0.50 ^
DATASET.NOISE_TYPE sym ^
DATASET.num_class 100

✅ 这样 datasets/caltech101.py 拼接后的路径就是:

C:\Users\lxl\Desktop\NLPrompt-master\data\caltech-101\101_ObjectCategories

—— 这是正确的。


✅ 方案二

如果你更希望保持命令行不动,可以改 datasets/caltech101.py 文件。

找到这行(大约第 33–35 行):

self.image_dir = osp.join(self.root, "caltech-101", "101_ObjectCategories")

改为:

self.image_dir = self.root

这样无论你传什么路径,它就直接使用 --root 参数指定的目录。


✅ 方案三(检查文件夹结构)

确保你的数据文件夹结构如下(推荐标准):

C:\Users\Desktop\NLPrompt-master\data\
│
└── caltech-101\└── 101_ObjectCategories\├── accordion\├── airplanes\├── ...

而不是:

C:\Users\Desktop\NLPrompt-master\data\caltech-101\101_ObjectCategories\caltech-101\101_ObjectCategories\

如果确实有重复嵌套的 caltech-101\101_ObjectCategories,请删除最外层重复部分。


🧠 四、总结快速修正表

问题原因修正方法
传入路径过深(重复拼接)改为 --root "C:\Users\Desktop\NLPrompt-master\data"
源码硬编码路径多拼了一层修改 datasets/caltech101.py 第 35 行为 self.image_dir = self.root
数据集解压路径错误保证目录结构是 data\caltech-101\101_ObjectCategories\类别文件夹

💡 建议采用方案一(修改命令行参数) —— 这是最安全、最符合官方逻辑的做法。

http://www.dtcms.com/a/498907.html

相关文章:

  • qq音乐怎么做mp3下载网站安阳县教育局官网
  • 深度学习进阶(七)——智能体的进化:从 LLM 到 AutoGPT 与 OpenDevin
  • Redis面试八股
  • 做网站从设计到上线流程山西专业网站建设价目
  • 排序算法:详解插入排序
  • [MLflow] 部署OpenAI聊天网关 | 令牌桶算法限流 | 分布式追踪 | Trace Span
  • 【010】智能图书系统
  • LeetCode 刷题【124. 二叉树中的最大路径和】
  • linux 的文件结构
  • stack,queue,咕咕咕!
  • 做网站不实名认证可以吗佛山城市建设工程有限公司
  • 构建基于大语言模型的智能数据可视化分析工具的学习总结
  • Android 架构演进全解析:MVC、MVP、MVVM、MVI 图文详解
  • 网站后台免费模板下载艺术字体在线生成器转换器
  • HC32 操作GPIO点亮LED(HC库)
  • 如何用python来做小游戏
  • 捡到h3开发板,做了个视频小车(二),御游追风plus做遥控器
  • U盘安装群晖RR引导
  • 昆山市住房和城乡建设网站wordpress淘宝联盟
  • 数据库中表和视图的关系
  • 优先级队列的学习(二)
  • 内部排序——一文速通
  • 数据结构——东方财富掘金量化速成学习(python)
  • 做网站商城项目的流程深圳专业网站设计哪家好
  • 【招聘】-音视频行业企业的招聘分析
  • css word属性
  • 晋中网站seo芯火信息做网站怎么样
  • Orleans 流系统握手机制时序图
  • 【C + +】异常处理:深度解析与实战
  • 《从理论到实践:红黑树的自平衡机制与C++高效实现指南》