
    x-j                     V   d Z ddlZddlZddlZddlZddlmZ g ZdZ	e	dz   Z
dZe	dz   ZdZdd
Z edddd          d             Z edddd          d             Z edddd          dd            Z edddd          dd            Z edddd          d             ZdS )a,  
CIFAR dataset.

This module will download dataset from https://dataset.bj.bcebos.com/cifar/cifar-10-python.tar.gz and https://dataset.bj.bcebos.com/cifar/cifar-100-python.tar.gz, parse train/test set into
paddle reader creators.

The CIFAR-10 dataset consists of 60000 32x32 color images in 10 classes,
with 6000 images per class. There are 50000 training images and 10000 test
images.

The CIFAR-100 dataset is just like the CIFAR-10, except it has 100 classes
containing 600 images each. There are 500 training images and 100 testing
images per class.

    N)
deprecatedz$https://dataset.bj.bcebos.com/cifar/zcifar-10-python.tar.gz c58f30108f718f92721af3b95e74349azcifar-100-python.tar.gz eb9058c3a382ffc7106e4002c42a8d85Fc                 $     d  fd}|S )Nc              3     K   | d         }|                      d|                      dd                     }|J t          ||          D ]8\  }}|dz                      t          j                  t          |          fV  9d S )Ns   datas   labelss   fine_labelsg     o@)getzipastypenumpyfloat32int)batchdatalabelssamplelabels        T/var/www/html/banglarbhumi/venv/lib/python3.11/site-packages/paddle/dataset/cifar.py
read_batchz"reader_creator.<locals>.read_batch0   s      W~9eii&E&EFF!!! v.. 	E 	EMFEE>))%-88#e**DDDDD	E 	E    c               3     K   	 t          j        d          5 } fd| D             }|D ]<}t          j        |                     |          d          } |          E d {V  =	 d d d            n# 1 swxY w Y   sd S )NTr)modec              3   8   K   | ]}|j         v |j         V  d S )N)name).0	each_itemsub_names     r   	<genexpr>z1reader_creator.<locals>.reader.<locals>.<genexpr>:   s>        !9>11 N1111 r   bytes)encoding)tarfileopenpickleloadextractfile)fnamesr   r   cyclefilenamer   r   s       r   readerzreader_creator.<locals>.reader7   s
     	hS111 	1Q   %&   " 1 1D"Kd(;(;gNNNE)z%00000000001	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1  	s   AA66A:=A: )r)   r   r(   r*   r   s   ``` @r   reader_creatorr,   /   sG    E E E         Mr   z2.0.0zpaddle.vision.datasets.Cifar100   z>Please use new dataset API which supports paddle.io.DataLoader)since	update_tolevelreasonc                  ~    t          t          j        j                            t
          dt                    d          S )z
    CIFAR-100 training set creator.

    It returns a reader creator, each sample in the reader is image pixels in
    [0, 1] and label in [0, 99].

    :return: Training reader creator
    :rtype: callable
    cifartrainr,   paddledatasetcommondownloadCIFAR100_URLCIFAR100_MD5r+   r   r   train100r<   J   s3      &&|WlKK  r   c                  ~    t          t          j        j                            t
          dt                    d          S )z
    CIFAR-100 test set creator.

    It returns a reader creator, each sample in the reader is image pixels in
    [0, 1] and label in [0, 99].

    :return: Test reader creator.
    :rtype: callable
    r3   testr5   r+   r   r   test100r?   `   s3      &&|WlKK  r   zpaddle.vision.datasets.Cifar10c                     t          t          j        j                            t
          dt                    d|           S )a  
    CIFAR-10 training set creator.

    It returns a reader creator, each sample in the reader is image pixels in
    [0, 1] and label in [0, 9].

    :param cycle: whether to cycle through the dataset
    :type cycle: bool
    :return: Training reader creator
    :rtype: callable
    r3   
data_batchr(   r,   r6   r7   r8   r9   CIFAR10_URLCIFAR10_MD5rB   s    r   train10rF   v   ;    $ &&{G[II   r   c                     t          t          j        j                            t
          dt                    d|           S )a  
    CIFAR-10 test set creator.

    It returns a reader creator, each sample in the reader is image pixels in
    [0, 1] and label in [0, 9].

    :param cycle: whether to cycle through the dataset
    :type cycle: bool
    :return: Test reader creator.
    :rtype: callable
    r3   
test_batchrB   rC   rB   s    r   test10rJ      rG   r   c                      t           j        j                            t          dt
                     t           j        j                            t          dt                     d S )Nr3   )r6   r7   r8   r9   rD   rE   r:   r;   r+   r   r   fetchrL      sD     N"";EEE
N""<,GGGGGr   )F)__doc__r#   r!   r   paddle.dataset.commonr6   paddle.utilsr   __all__
URL_PREFIXrD   rE   r:   r;   r,   r<   r?   rF   rJ   rL   r+   r   r   <module>rR      s            # # # # # #
3
330551   6 
/
K	      
/
K	      
.
K	     & 
.
K	     & 
.
K	  H H H H Hr   