o
    Me                     @   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_hash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   GD:\Projects\ConvertPro\env\Lib\site-packages\keras/datasets/cifar100.py	load_data   s0   )	r   )r   )__doc__r   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   