o
    ={cå  ć                   @   sZ   d Z ddlZddlZddlmZ ddlmZ ddlm	Z	 ddl
mZ eddd	d
ZdS )z-CIFAR100 small images classification dataset.é    N)Śbackend)Ś
load_batch)Śget_file)Śkeras_exportz!keras.datasets.cifar100.load_dataŚfinec           	      C   sŲ   | dvrt d|  dd}d}t||ddd}tj |d	”}t|| d
 d\}}tj |d”}t|| d
 d\}}t |t|df”}t |t|df”}t	 
” dkrd| dddd”}| dddd”}||f||ffS )aÆ  Loads the CIFAR100 dataset.

    This is a dataset of 50,000 32x32 color training images and
    10,000 test images, labeled over 100 fine-grained classes that are
    grouped into 20 coarse-grained classes. See more info at the
    [CIFAR homepage](https://www.cs.toronto.edu/~kriz/cifar.html).

    Args:
      label_mode: one of "fine", "coarse". If it is "fine" the category labels
        are the fine-grained labels, if it is "coarse" the output labels are the
        coarse-grained superclasses.

    Returns:
      Tuple of NumPy arrays: `(x_train, y_train), (x_test, y_test)`.

    **x_train**: uint8 NumPy array of grayscale image data with shapes
      `(50000, 32, 32, 3)`, containing the training data. Pixel values range
      from 0 to 255.

    **y_train**: uint8 NumPy array of labels (integers in range 0-99)
      with shape `(50000, 1)` for the training data.

    **x_test**: uint8 NumPy array of grayscale image data with shapes
      `(10000, 32, 32, 3)`, containing the test data. Pixel values range
      from 0 to 255.

    **y_test**: uint8 NumPy array of labels (integers in range 0-99)
      with shape `(10000, 1)` for the test data.

    Example:

    ```python
    (x_train, y_train), (x_test, y_test) = keras.datasets.cifar100.load_data()
    assert x_train.shape == (50000, 32, 32, 3)
    assert x_test.shape == (10000, 32, 32, 3)
    assert y_train.shape == (50000, 1)
    assert y_test.shape == (10000, 1)
    ```
    )r   ZcoarsezG`label_mode` must be one of `"fine"`, `"coarse"`. Received: label_mode=Ś.zcifar-100-pythonz8https://www.cs.toronto.edu/~kriz/cifar-100-python.tar.gzTZ@85cd44d02ba6437773c5bbd22e183051d648de2e7d6b014e1ef29b855ba677a7)ŚoriginZuntarZ	file_hashZtrainZ_labels)Z	label_keyŚtesté   Zchannels_lastr   é   é   )Ś
ValueErrorr   ŚosŚpathŚjoinr   ŚnpZreshapeŚlenr   Zimage_data_formatZ	transpose)	Z
label_modeŚdirnamer   r   ZfpathZx_trainZy_trainZx_testZy_test© r   ś7lib/python3.10/site-packages/keras/datasets/cifar100.pyŚ	load_data   s0   )’’ū	r   )r   )Ś__doc__r   Znumpyr   Zkerasr   Zkeras.datasets.cifarr   Zkeras.utils.data_utilsr   Z tensorflow.python.util.tf_exportr   r   r   r   r   r   Ś<module>   s   