chainer.datasets.get_mnist(withlabel=True, ndim=1, scale=1.0, dtype=None, label_dtype=<class 'numpy.int32'>, rgb_format=False)[source]

Gets the MNIST dataset.

MNIST is a set of hand-written digits represented by grey-scale 28x28 images. In the original images, each pixel is represented by one-byte unsigned integer. This function scales the pixels to floating point values in the interval [0, scale].

This function returns the training set and the test set of the official MNIST dataset. If withlabel is True, each dataset consists of tuples of images and labels, otherwise it only consists of images.

  • withlabel (bool) – If True, it returns datasets with labels. In this case, each example is a tuple of an image and a label. Otherwise, the datasets only contain images.

  • ndim (int) –

    Number of dimensions of each image. The shape of each image is determined depending on ndim as follows:

    • ndim == 1: the shape is (784,)

    • ndim == 2: the shape is (28, 28)

    • ndim == 3: the shape is (1, 28, 28)

  • scale (float) – Pixel value scale. If it is 1 (default), pixels are scaled to the interval [0, 1].

  • dtype – Data type of resulting image arrays. chainer.config.dtype is used by default (see Configuring Chainer).

  • label_dtype – Data type of the labels.

  • rgb_format (bool) – if ndim == 3 and rgb_format is True, the image will be converted to rgb format by duplicating the channels so the image shape is (3, 28, 28). Default is False.


A tuple of two datasets. If withlabel is True, both datasets are TupleDataset instances. Otherwise, both datasets are arrays of images.