σ
ίΖχXc           @@  sh   d  d l  m Z d d l m Z d d l m Z d d l m Z d  d l	 Z
 d  d l Z d d	  Z d S(
   i    (   t   absolute_importi   (   t
   load_batchi   (   t   get_file(   t   backendNt   finec   	      C@  s8  |  d k r t  d   n  d } d } t | d | d t } t j j | d  } t | d	 |  d
 \ } } t j j | d  } t | d	 |  d
 \ } } 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  } n  | | f | | f f S(   sσ   Loads CIFAR100 dataset.

    # Arguments
        label_mode: one of "fine", "coarse".

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

    # Raises
        ValueError: in case of invalid `label_mode`.
    R   t   coarses*   label_mode must be one of "fine" "coarse".s   cifar-100-pythons7   http://www.cs.toronto.edu/~kriz/cifar-100-python.tar.gzt   origint   untart   traint	   label_keyt   _labelst   testi   t   channels_lasti    i   i   (   R   R   (   t
   ValueErrorR   t   Truet   ost   patht   joinR   t   npt   reshapet   lent   Kt   image_data_formatt	   transpose(	   t
   label_modet   dirnameR   R   t   fpatht   x_traint   y_traint   x_testt   y_test(    (    s6   /tmp/pip-build-X4mzal/keras/keras/datasets/cifar100.pyt	   load_data	   s    (   t
   __future__R    t   cifarR   t   utils.data_utilsR   t    R   R   t   numpyR   R   R   (    (    (    s6   /tmp/pip-build-X4mzal/keras/keras/datasets/cifar100.pyt   <module>   s   