Keras:下载 Fashion_MNIST 数据时出错

问题描述 投票:0回答:7

我尝试从 Fashion MNIST 下载数据,但出现错误。最初,它正在下载并正常工作,但我不得不终止它,因为我必须关闭计算机。当我再次打开该文件时,它给了我一个错误。我不确定问题是什么,但是否是因为我已经下载过一次数据的某些部分,而 keras 无法识别?我在 conda 环境中使用 Jupyter 笔记本

这是图片链接:

https://i.stack.imgur.com/wLGDm.png

tensorflow keras
7个回答
5
投票

您错过了将

tf.
添加到该行

fashion_mnist = keras.datasets.fashion_mnist

下面的代码非常适合我。

fashion_mnist
文档
此处
中概述了导入tensorflow数据集。

将代码更改为:

import tensorflow as tf

fashion_mnist = tf.keras.datasets.fashion_mnist

(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()

或者,使用下面更好的方法来做到这一点。这可以避免创建额外的变量

fashion_mnist
:

import tensorflow as tf

(train_images, train_labels), (test_images, test_labels) = tf.keras.datasets.fashion_mnist.load_data()

我在 Windows 10 x64 操作系统上使用tensorflow 1.9.0、keras 2.2.2 和 python 3.6.6。


1
投票

我很了解我的电脑,由于

WinError 8
,我无法下载任何大于 2.7 MB 的内容(在终端中)。

所以我从 storage.google 手动下载了所有包(因为有些包有 25 MB)。

检查包装:

然后我将所有包粘贴到

\datasets\fashion-mnist

下次运行代码时,它应该被修复。

注意:如果你有 VScode,那么只需按住 CTRL 并单击链接,即可轻松下载。


0
投票

我遇到了有关 cURL 连接的错误,通过查看错误消息,我能够跟踪声明 URL 的文件。就我而言,它是:

/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/tensorflow_core/python/keras/datasets/fashion_mnist.py

在第 44 行,我注释掉了该行:

# base = 'https://storage.googleapis.com/tensorflow/tf-keras-datasets/'

并声明了一个不同的基本 URL,这是我在查看原始数据集的文档时发现的:

base = 'http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/'

下载立即开始,没有出现任何错误。希望这有帮助。


0
投票

这是因为由于某种原因,您下载的 MNIST 数据集不完整。

您必须手动删除下载的文件夹,该文件夹通常位于 ~/.keras/datasets 或您指定的相对于该路径的任何路径(在您的情况下为 MNIST_data)。

转到:C:\Users\用户名.keras\datasets

然后删除要重新下载或有错误的数据集

你应该可以走了!


0
投票

您还可以手动为其获取数据集的路径添加打印.. 例如:在文件 fashion_mnist.py

中打印(路径)
with gzip.open(paths[3], 'rb') as imgpath:
    print(paths)  #debug print in fashion_mnist.py 
    x_test = np.frombuffer(
        imgpath.read(), np.uint8, offset=16).reshape(len(y_test), 28, 28)

&从此路径中删除文件&这将开始下载新数据..


0
投票

首先你必须安装

"python-mnist",
"wget",
"tensorflow-datasets"

然后你可以这样做:

import os
import wget
import zipfile

url = 'https://github.com/zalandoresearch/fashion-mnist/archive/refs/heads/master.zip'

zip_file = 'fashion_mnist.zip'

extract_folder = 'fashion_mnist_data'

wget.download(url, zip_file)

with zipfile.ZipFile(zip_file, 'r') as zip_ref:
    zip_ref.extractall(extract_folder)

os.remove(zip_file)

import sys
sys.path.append('fashion-mnist/utils') 
import mnist_reader 
from mnist.loader import MNIST

X_train, y_train = mnist_reader.load_mnist('fashion-mnist/data/fashion', kind='train')
X_test, y_test = mnist_reader.load_mnist('fashion-mnist/data/fashion', kind='t10k')

-2
投票

如前所述,将基址更改为“http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/”。这个对我有用。 我收到错误

Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz

Traceback (most recent call last):
  File "C:\Users\AsadA\AppData\Local\Programs\Python\Python38\lib\site-packages\numpy\lib\npyio.py", line 448, in load
    return pickle.load(fid, **pickle_kwargs)
EOFError: Ran out of input
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "C:\Users\AsadA\AppData\Local\Programs\Python\Python38\lib\site-packages\numpy\lib\npyio.py", line 450, in load
    raise IOError(
OSError: Failed to interpret file 'C:\\Users\\AsadA\\.keras\\datasets\\mnist.npz' as a pickle"**

转到文件

C:\Users\AsadA\AppData\Local\Programs\Python\Python38\Lib\site-packages\tensorflow\python\keras\datasets
(就我而言)并按照说明进行操作:

© www.soinside.com 2019 - 2024. All rights reserved.