FileNotFoundError:没有这样的文件:'/content/Mask_RCNN/dataset/val/download.jpg'
Posted
技术标签:
【中文标题】FileNotFoundError:没有这样的文件:\'/content/Mask_RCNN/dataset/val/download.jpg\'【英文标题】:FileNotFoundError: No such file: '/content/Mask_RCNN/dataset/val/download.jpg'FileNotFoundError:没有这样的文件:'/content/Mask_RCNN/dataset/val/download.jpg' 【发布时间】:2021-11-20 05:07:18 【问题描述】:TEST_MODE = "inference"
ROOT_DIR = "/content/Mask_RCNN/dataset"
def get_ax(rows=1, cols=1, size=16):
"""Return a Matplotlib Axes array to be used in all visualizations in the notebook. Provide
a central point to control graph sizes. Adjust the size attribute to control how big to
render images"""
_, ax = plt.subplots(rows, cols, figsize=(size*cols, size*rows))
return ax
# Load validation dataset
# Must call before using the dataset
CUSTOM_DIR = "/content/Mask_RCNN/dataset"
dataset = CustomDataset()
dataset.load_custom(CUSTOM_DIR, "val")
dataset.prepare()
print("Images: \nClasses: ".format(len(dataset.image_ids), dataset.class_names))
我正在尝试使用我创建的自定义数据集的 maskrcnn 对 3 个图像进行分类。但我正在获取此错误
"
objects: ['laptop', 'tab', 'phone']
numids [1, 2, 3]
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
<ipython-input-16-32aa7809facd> in <module>()
11 CUSTOM_DIR = "/content/Mask_RCNN/dataset"
12 dataset = CustomDataset()
---> 13 dataset.load_custom(CUSTOM_DIR, "val")
14 dataset.prepare()
15 print("Images: \nClasses: ".format(len(dataset.image_ids), dataset.class_names))
7 frames
/usr/local/lib/python3.7/dist-packages/imageio/core/request.py in _parse_uri(self, uri)
271 # Reading: check that the file exists (but is allowed a dir)
272 if not os.path.exists(fn):
--> 273 raise FileNotFoundError("No such file: '%s'" % fn)
274 else:
275 # Writing: check that the directory to write to does exist
FileNotFoundError: No such file: '/content/Mask_RCNN/dataset/val/download.jpg'
我正在尝试使用我创建的自定义数据集的 maskrcnn 对 3 个图像进行分类。但我正在获取此错误
【问题讨论】:
构建绝对路径,不要依赖相对路径,你的 CWD 可能不是你期望的那样。 我应该怎么做才能制作绝对路径。我已经创建了 dataset 文件夹,其中我创建了 train 和 val @MikeScotty 你的CUSTOM_DIR
是一个相对路径(相对于你的项目根目录)对吧?相反,请提供完整路径(在您的系统上)。相关:***.com/questions/3430372/… 和 ***.com/questions/51520/… 您可以对其进行硬编码或相对于__file__
构建它,这应该是可靠的。
我正在使用谷歌 colab。但仍然无法解决此错误@MikeScotty
【参考方案1】:
错误只是说在该路径中找不到文件。如果您要使用任何前进的路径,最好将它们保留为绝对路径而不是相对路径。我将为您提供入门工具,但由于我不知道您的文件布局,您需要填写空白。
相对路径与绝对路径(abspath)
这是一个简单的示例,假设您在 Windows 上并且想要获取该文件,该文件位于桌面上名为“images”的文件夹中。如果你的 cwd 是桌面,那么相对路径是\\images\\image.jpg
,但绝对路径是<drive letter>:\Users\<name>\Desktop\images\image.jpg
。
Python 包含一些使用os.path
执行此操作的选项,最值得注意的是os.path.abspath()
。
环境变量
如果您希望代码可传输,请使用环境变量构建绝对路径。例如,如果您想要某人桌面的占位符,您可以使用:
os.environ["USERPROFILE"]
或在 linux/mac 上
os.environ["HOME"]
因此,使用我们之前的示例,我们可以使用以下方法获取图像文件夹的路径:
if os.name == "nt": # Windows
desktop = os.path.join(os.environ["USERPROFILE"], "Desktop")
else:
desktop = os.path.join(os.environ["HOME"], "Desktop)
full_path = os.path.join(desktop, "images")
这会给我们<drive letter>:\Users\<name>\Desktop\images
以当前文件为起点
如果您的文件位于您正在运行的 python 文件附近的文件夹中,您还可以使用以下命令访问 python 文件所在的文件夹:
import os
python_file_folder = os.path.abspath(os.path.dirname(__file__))
然后从那里使用os.path.join()
's。这不太理想,但仍然比相对路径更好,因为相对路径基于您的终端运行文件的位置,而不是您运行的 python 文件所在的位置。因此,如果您从不同的目录运行文件,您的相对路径可能会在每次运行时发生变化,但除非您移动 python 文件,否则__file__
保持不变。
额外资源
还有一些额外的细节可以在here或here找到
【讨论】:
我正在使用谷歌 colab。你能帮我吗?我会和你分享我的文件@Kieran Wood以上是关于FileNotFoundError:没有这样的文件:'/content/Mask_RCNN/dataset/val/download.jpg'的主要内容,如果未能解决你的问题,请参考以下文章
PyInstaller + UI 文件 - FileNotFoundError: [Errno 2] 没有这样的文件或目录:
PyInstaller + UI 文件 - FileNotFoundError: [Errno 2] 没有这样的文件或目录:
FileNotFoundError:没有这样的文件:'/content/Mask_RCNN/dataset/val/download.jpg'
FileNotFoundError: [Errno 2] 没有这样的文件或目录 + os.execv