fashionmnist dataset import gzip import os import numpy as np from keras apiexport import kerasexport from keras utils fileutils import getfile kerasexportkeras datasets fashionmnist loaddata def loaddata dirname os path joindatasets fashionmnist base https storage googleapis comtensorflowtfkerasdatasets files trainlabelsidx1ubyte gz trainimagesidx3ubyte gz t10klabelsidx1ubyte gz t10kimagesidx3ubyte gz paths for fname in files paths appendgetfilefname originbase fname cachesubdirdirname with gzip openpaths0 rb as lbpath ytrain np frombufferlbpath read np uint8 offset8 with gzip openpaths1 rb as imgpath xtrain np frombufferimgpath read np uint8 offset16 reshape lenytrain 28 28 with gzip openpaths2 rb as lbpath ytest np frombufferlbpath read np uint8 offset8 with gzip openpaths3 rb as imgpath xtest np frombufferimgpath read np uint8 offset16 reshape lenytest 28 28 return xtrain ytrain xtest ytest loads the fashion mnist dataset this is a dataset of 60 000 28x28 grayscale images of 10 fashion categories along with a test set of 10 000 images this dataset can be used as a drop in replacement for mnist the classes are label description 0 t shirt top 1 trouser 2 pullover 3 dress 4 coat 5 sandal 6 shirt 7 sneaker 8 bag 9 ankle boot returns tuple of numpy arrays x_train y_train x_test y_test x_train uint8 numpy array of grayscale image data with shapes 60000 28 28 containing the training data y_train uint8 numpy array of labels integers in range 0 9 with shape 60000 for the training data x_test uint8 numpy array of grayscale image data with shapes 10000 28 28 containing the test data y_test uint8 numpy array of labels integers in range 0 9 with shape 10000 for the test data example python x_train y_train x_test y_test fashion_mnist load_data assert x_train shape 60000 28 28 assert x_test shape 10000 28 28 assert y_train shape 60000 assert y_test shape 10000 license the for fashion mnist is held by zalando se fashion mnist is licensed under the mit license https github com zalandoresearch fashion mnist blob master license
import gzip
import os

import numpy as np

from keras.api_export import keras_export
from keras.utils.file_utils import get_file


@keras_export("keras.datasets.fashion_mnist.load_data")
def load_data():
    
    dirname = os.path.join("datasets", "fashion-mnist")
    base = "https://storage.googleapis.com/tensorflow/tf-keras-datasets/"
    files = [
        "train-labels-idx1-ubyte.gz",
        "train-images-idx3-ubyte.gz",
        "t10k-labels-idx1-ubyte.gz",
        "t10k-images-idx3-ubyte.gz",
    ]

    paths = []
    for fname in files:
        paths.append(get_file(fname, origin=base + fname, cache_subdir=dirname))

    with gzip.open(paths[0], "rb") as lbpath:
        y_train = np.frombuffer(lbpath.read(), np.uint8, offset=8)

    with gzip.open(paths[1], "rb") as imgpath:
        x_train = np.frombuffer(imgpath.read(), np.uint8, offset=16).reshape(
            len(y_train), 28, 28
        )

    with gzip.open(paths[2], "rb") as lbpath:
        y_test = np.frombuffer(lbpath.read(), np.uint8, offset=8)

    with gzip.open(paths[3], "rb") as imgpath:
        x_test = np.frombuffer(imgpath.read(), np.uint8, offset=16).reshape(
            len(y_test), 28, 28
        )

    return (x_train, y_train), (x_test, y_test)