o
    2h                     @   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)keras_export)
load_batch)get_filez!keras.datasets.cifar100.load_datafinec           	      C   s   | dvrt d|  dd}d}t||ddd}tj|d	}tj|d
}t|| d d\}}tj|d}t|| d d\}}t|t|df}t|t|df}t	
 dkrk|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, and 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   coarsezG`label_mode` must be one of `"fine"`, `"coarse"`. Received: label_mode=.zcifar-100-python-targetz8https://www.cs.toronto.edu/~kriz/cifar-100-python.tar.gzT@85cd44d02ba6437773c5bbd22e183051d648de2e7d6b014e1ef29b855ba677a7)fnameoriginextract	file_hashzcifar-100-pythontrain_labels)	label_keytest   channels_lastr         )
ValueErrorr   ospathjoinr   npreshapelenr   image_data_format	transpose)	
label_modedirnamer   r   fpathx_trainy_trainx_testy_test r&   V/var/www/html/chatgem/venv/lib/python3.10/site-packages/keras/src/datasets/cifar100.py	load_data   s2   *	r(   )r   )__doc__r   numpyr   	keras.srcr   keras.src.api_exportr   keras.src.datasets.cifarr   keras.src.utils.file_utilsr   r(   r&   r&   r&   r'   <module>   s    