Как исправить ошибку "Нет такого файла или каталога" при загрузке набора данных MNIST
Я скачал учебные образы и ярлыки MNIST с сайта yann.lecun.com и распаковал их. Я пытаюсь загрузить их, используя этот код
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'
Я полностью озадачен - я знаю, что каталог существует! Я вижу это, когда вхожу в /python
!
2 ответа
Мне помогло переименование файла в train-images.idx3-ubyte
вместо того train-images-idx3-ubyte
(в -
после images
был изменен на .
).
Есть разница между / и ~. По умолчанию,
os.dir('/')
проверим на '/'
, Я думаю, что ваш файл Python находится в '~'
т.е. ваш домашний каталог.
Вы можете попробовать это:
from os.path import expanduser
home = expanduser("~")+'/python/mnist-files'
mndata = MNIST(home)
features,labels = mndata.load_training()
Дайте мне знать, если это поможет.
Вы можете попробовать использовать этот код.
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('MNIST_data', validation_size=0)
Я выполнил код, и он отлично работает! Надеюсь, вы найдете это полезным.