Skip to main content

MNISTs: All MNIST-like datasets in one package

Project description

MNISTs: All MNIST-like datasets in one package

MNISTs provides an easy way to use MNIST and other MNIST-like datasets (e.g. FashionMNIST, KMNIST) in your numpy code.

MNISTs replicates the functionality of torchvision.datasets.mnist without the need to download dozens of dependencies. MNISTs has only one dependency - numpy.

Usage

Each dataset stores train/test images as numpy arrays of shape (n_samples, img_height, img_width) and train/test labels as numpy arrays of shape (n_samples,).

MNIST example:

>>> from mnists import MNIST
>>> mnist = MNIST()
>>> type(mnist.train_images)
<class 'numpy.ndarray'>
>>> mnist.train_images.dtype
dtype('uint8')
>>> mnist.train_images.min()
0
>>> mnist.train_images.max()
255
>>> mnist.train_images.shape
(60000, 28, 28)
>>> mnist.train_labels.shape
(60000,)
>>> mnist.test_images.shape
(10000, 28, 28)
>>> mnist.test_labels.shape
(10000,)
>>> mnist.classes[:3]
['0 - zero', '1 - one', '2 - two']

FashionMNIST example:

from mnists import FashionMNIST
import matplotlib.pyplot as plt

fmnist = FashionMNIST()
plt.imshow(fmnist.train_images[0], cmap='gray')
plt.title(fmnist.classes[fmnist.train_labels[0]])
plt.axis('off')
plt.show()

FashionMNIST example

KMNIST example:

from mnists import KMNIST
import matplotlib.pyplot as plt

kmnist = KMNIST()
plt.imshow(
    kmnist.test_images[:256]
        .reshape(16, 16, 28, 28)
        .swapaxes(1, 2)
        .reshape(16 * 28, -1),
    cmap='gray')
plt.axis('off')
plt.show()

KMNIST example

Installation

Install mnists from PyPi:

pip install mnists

or from source:

pip install -U git+https://github.com/pczarnik/mnists

The only requirements for MNISTs are numpy>=1.22 and python>=3.9.

Acknowledgments

The main inspirations for MNISTs were mnist and torchvision.datasets.mnist.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mnists-0.1.0.tar.gz (5.9 kB view hashes)

Uploaded Source

Built Distribution

mnists-0.1.0-py3-none-any.whl (6.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page