如何在加载 MNIST 数据集时修复 'No such file or directory' 错误
How to fix 'No such file or directory' error while loading MNIST dataset
我已经从 yann.lecun.com 下载了 MNIST 训练图像和标签并解压缩了它们。我正在尝试使用此代码加载它们-
from mlxtend.data import loadlocal_mnist
features,labels = loadlocal_mnist(
images_path='/python/mnist-files/train-images-idx3-ubyte',
labels_path='/python/mnist-files/train-labels-idx1-ubyte')
但是,我得到这个错误 -
Traceback (most recent call last):
File "generateClassifier.py", line 12, in <module>
labels_path='/python/mnist-files/train-labels-idx1-ubyte')
File "/home/inglorion/.local/lib/python3.6/site-
packages/mlxtend/data/local_mnist.py", line 36, in loadlocal_mnist
with open(labels_path, 'rb') as lbpath:
FileNotFoundError: [Errno 2] No such file or directory: '/python/mnist-
files/train-labels-idx1-ubyte'
目录存在,文件名正确。我该如何解决这个问题?
编辑:我对 python-mnist
包进行了同样的尝试-
from mnist import MNIST
mndata = MNIST('/python/mnist-files')
features,labels = mndata.load_training()
我遇到了类似的错误-
Traceback (most recent call last):
File "generateClassifier.py", line 11, in <module>
features,labels = mndata.load_training()
File "/home/inglorion/.local/lib/python3.6/site-packages/mnist/loader.py",
line 126, in load_training
os.path.join(self.path, self.train_lbl_fname))
File "/home/inglorion/.local/lib/python3.6/site-packages/mnist/loader.py",
line 247, in load
with self.opener(path_lbl, 'rb') as file:
File "/home/inglorion/.local/lib/python3.6/site-packages/mnist/loader.py",
line 239, in opener
return open(path_fn, *args, **kwargs)
FileNotFoundError: [Errno 2] No such file or directory: '/python/mnist-
files/train-labels-idx1-ubyte'
错误似乎只与训练标签文件有关;我尝试重新下载文件,但没有解决问题。
编辑 2:根据要求,这是 ls -l /python/mnist-files
-
的输出
total 46156
-rw-r--r-- 1 inglorion inglorion 47040016 Jul 21 2000 train-images-idx3-
ubyte
-rw-r--r-- 1 inglorion inglorion 60008 Jul 21 2000 train-labels-idx1-
ubyte
-rw-r--r-- 1 inglorion inglorion 147970 Feb 8 22:43 wget-log
-rw-r--r-- 1 inglorion inglorion 682 Feb 9 14:40 wget-log.1
编辑 3:这是 print(os.listdir('/python/mnist-files'))
的输出:
FileNotFoundError: [Errno 2] No such file or directory: '/python/mnist-files'
我完全迷惑了-我知道目录存在!当我 cd 进入 /python
!
时我可以看到它
您可以尝试使用此代码。
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('MNIST_data', validation_size=0)
我已经执行了代码并且运行良好!!希望对您有所帮助。
/和~是有区别的。默认情况下,
os.dir('/')
将在 '/'
检查。我猜你的文件 python 在 '~'
中,即你的主目录。
你可以试试这个:
from os.path import expanduser
home = expanduser("~")+'/python/mnist-files'
mndata = MNIST(home)
features,labels = mndata.load_training()
如果有帮助请告诉我。
对我来说,它有助于将文件重命名为 train-images.idx3-ubyte
而不是 train-images-idx3-ubyte
(images
之后的 -
更改为 .
)。
我已经从 yann.lecun.com 下载了 MNIST 训练图像和标签并解压缩了它们。我正在尝试使用此代码加载它们-
from mlxtend.data import loadlocal_mnist
features,labels = loadlocal_mnist(
images_path='/python/mnist-files/train-images-idx3-ubyte',
labels_path='/python/mnist-files/train-labels-idx1-ubyte')
但是,我得到这个错误 -
Traceback (most recent call last):
File "generateClassifier.py", line 12, in <module>
labels_path='/python/mnist-files/train-labels-idx1-ubyte')
File "/home/inglorion/.local/lib/python3.6/site-
packages/mlxtend/data/local_mnist.py", line 36, in loadlocal_mnist
with open(labels_path, 'rb') as lbpath:
FileNotFoundError: [Errno 2] No such file or directory: '/python/mnist-
files/train-labels-idx1-ubyte'
目录存在,文件名正确。我该如何解决这个问题?
编辑:我对 python-mnist
包进行了同样的尝试-
from mnist import MNIST
mndata = MNIST('/python/mnist-files')
features,labels = mndata.load_training()
我遇到了类似的错误-
Traceback (most recent call last):
File "generateClassifier.py", line 11, in <module>
features,labels = mndata.load_training()
File "/home/inglorion/.local/lib/python3.6/site-packages/mnist/loader.py",
line 126, in load_training
os.path.join(self.path, self.train_lbl_fname))
File "/home/inglorion/.local/lib/python3.6/site-packages/mnist/loader.py",
line 247, in load
with self.opener(path_lbl, 'rb') as file:
File "/home/inglorion/.local/lib/python3.6/site-packages/mnist/loader.py",
line 239, in opener
return open(path_fn, *args, **kwargs)
FileNotFoundError: [Errno 2] No such file or directory: '/python/mnist-
files/train-labels-idx1-ubyte'
错误似乎只与训练标签文件有关;我尝试重新下载文件,但没有解决问题。
编辑 2:根据要求,这是 ls -l /python/mnist-files
-
total 46156
-rw-r--r-- 1 inglorion inglorion 47040016 Jul 21 2000 train-images-idx3-
ubyte
-rw-r--r-- 1 inglorion inglorion 60008 Jul 21 2000 train-labels-idx1-
ubyte
-rw-r--r-- 1 inglorion inglorion 147970 Feb 8 22:43 wget-log
-rw-r--r-- 1 inglorion inglorion 682 Feb 9 14:40 wget-log.1
编辑 3:这是 print(os.listdir('/python/mnist-files'))
的输出:
FileNotFoundError: [Errno 2] No such file or directory: '/python/mnist-files'
我完全迷惑了-我知道目录存在!当我 cd 进入 /python
!
您可以尝试使用此代码。
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('MNIST_data', validation_size=0)
我已经执行了代码并且运行良好!!希望对您有所帮助。
/和~是有区别的。默认情况下,
os.dir('/')
将在 '/'
检查。我猜你的文件 python 在 '~'
中,即你的主目录。
你可以试试这个:
from os.path import expanduser
home = expanduser("~")+'/python/mnist-files'
mndata = MNIST(home)
features,labels = mndata.load_training()
如果有帮助请告诉我。
对我来说,它有助于将文件重命名为 train-images.idx3-ubyte
而不是 train-images-idx3-ubyte
(images
之后的 -
更改为 .
)。