
    2Vh                     f    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       Zy)
z-CIFAR100 small images classification dataset.    N)backend)keras_export)
load_batch)get_filez!keras.datasets.cifar100.load_datac                 l   | dvrt        d|  d      d}d}t        ||dd      }t        j                  j	                  |d	      }t        j                  j	                  |d
      }t        || dz         \  }}t        j                  j	                  |d      }t        || dz         \  }}t        j                  |t        |      df      }t        j                  |t        |      df      }t        j                         dk(  r(|j                  dddd      }|j                  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)
    ```
    )fine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_tests	            K/home/dcms/DCMS/lib/python3.12/site-packages/keras/src/datasets/cifar100.py	load_datar)      s<   T ++$$.<q2
 	

 (GGFND 77<<01DGGLLw'E!%:	3IJGWGGLLv&Ei1GHNFFjj3w<"34GZZVa 01F  "o5##Aq!Q/!!!Q1-W///    )r   )__doc__r   numpyr   	keras.srcr   keras.src.api_exportr   keras.src.datasets.cifarr   keras.src.utils.file_utilsr   r)    r*   r(   <module>r2      s6    3 	   - / / 12H0 3H0r*   