繁体   English   中英

使用 keras 加载 mnist 时尚数据集

[英]loading mnist fashion dataset with keras

我复制粘贴了tensorflow官方的基本分类:分类服装代码https://www.tensorflow.org/tutorials/keras/classification

    import tensorflow as tf
    import numpy as np
    import matplotlib.pyplot as plt
    fashion_mnist = tf.keras.datasets.fashion_mnist
    (train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()

并运行它。 运行时它会打印出一堆乱码并且不会停止(几乎就像您不小心将打印放在 while 循环中时一样):

    Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-images-idx3-ubyte.gz
    
        8192/26421880 [..............................] - ETA: 6s
       98304/26421880 [..............................] - ETA: 14s
      106496/26421880 [..............................] - ETA: 27s
      417792/26421880 [..............................] - ETA: 10s
      425984/26421880 [..............................] - ETA: 13s

所以我终止了它。 以上只是打印内容的一小部分。 我再次运行它,只是立即得到一个错误。

    line 7, in <module>
        (train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
      File "C:\Users\david\AppData\Local\Programs\Python\Python38\lib\site-packages\tensorflow\python\keras\datasets\fashion_mnist.py", line 82, in load_data
        imgpath.read(), np.uint8, offset=16).reshape(len(y_train), 28, 28)
      File "C:\Users\david\AppData\Local\Programs\Python\Python38\lib\gzip.py", line 292, in read
        return self._buffer.read(size)
      File "C:\Users\david\AppData\Local\Programs\Python\Python38\lib\gzip.py", line 498, in read
        raise EOFError("Compressed file ended before the end-of-stream marker was reached")

我检查了一个类似的问题,删除了导致此错误的数据集并再次运行它。 我等待它打印出来的乱码并等待它完成运行,只是让它在大约 30 分钟后过早终止并出现此错误:

    Traceback (most recent call last):
      File "C:\Users\david\AppData\Local\Programs\Python\Python38\lib\site-packages\tensorflow\python\keras\utils\data_utils.py", line 275, in get_file
        urlretrieve(origin, fpath, dl_progress)
      File "C:\Users\david\AppData\Local\Programs\Python\Python38\lib\urllib\request.py", line 286, in urlretrieve
        raise ContentTooShortError(
    urllib.error.ContentTooShortError: <urlopen error retrieval incomplete: got only 9191424 out of 26421880 bytes>

During handling of the above exception, another exception occurred:
 
    Traceback (most recent call last):
      File "C:\Users\david\Documents\DAVID\Documents\Education\Computer Science\Extra stuff\Machine learning\Neural networks\ep.2.py", line 7, in <module>
        (train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
      File "C:\Users\david\AppData\Local\Programs\Python\Python38\lib\site-packages\tensorflow\python\keras\datasets\fashion_mnist.py", line 75, in load_data
        paths.append(get_file(fname, origin=base + fname, cache_subdir=dirname))
      File "C:\Users\david\AppData\Local\Programs\Python\Python38\lib\site-packages\tensorflow\python\keras\utils\data_utils.py", line 279, in get_file
        raise Exception(error_msg.format(origin, e.errno, e.reason))
    Exception: URL fetch failure on https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-images-idx3-ubyte.gz: None -- retrieval incomplete: got only 9191424 out of 26421880 bytes

我已经尝试多次删除该数据集,每次运行代码时,同样的事情会一次又一次地发生。

我找不到任何论坛或堆栈溢出来说明发生这种情况时该怎么办,我们将不胜感激。

TL;DR 当复制和粘贴 tensorflow 的教程代码导致错误时,我该怎么做才能加载 MNIST 数据集?

查看%USERPROFILE%\.keras\datasets文件夹并删除 mnist 相关文件和文件夹

对此有更多了解的人可能对此有实际的答案或原因,但对我来说,在与 Ismail 进行长时间讨论后,我们得出的结论是我的电脑或 python 设置有问题,我的解决方案就是使用谷歌的colab 或任何其他 python shell 但 IDLE。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM