Ë
    †\;jú  ã                   óæ   — 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e	d	z   Zd
Ze	dz   ZdZd„ Z edddd¬«      d„ «       Z edddd¬«      d„ «       Z edddd¬«      d„ «       Zy)z›
MNIST dataset.

This module will download dataset from http://yann.lecun.com/exdb/mnist/ and
parse training set and test set into paddle reader creators.
é    N)Ú
deprecatedz$https://dataset.bj.bcebos.com/mnist/zt10k-images-idx3-ubyte.gzÚ 9fb629c4189551a2d022fa330f9573f3zt10k-labels-idx1-ubyte.gzÚ ec29112dd5afa0611ce80d1b7f02629cztrain-images-idx3-ubyte.gzÚ f68b3c2dcbeaaa9fbdd348bbdeb94873ztrain-labels-idx1-ubyte.gzÚ d53e105ee54ea40749a09fcbcd1e9432c                 ó   ‡ ‡‡— ˆˆ ˆfd„}|S )Nc               3   óÆ  •K  — t        j                  ‰d«      5 } | j                  «       }t        j                  ‰d«      5 }|j                  «       }d}d}d}t        j                  |||«      \  }}}	}
|t        j
                  |«      z  }d}d}t        j                  |||«      \  }}|t        j
                  |«      z  }	 ||k\  rnîdt        ‰«      z   dz   }t        j                  |||«      }|t        j
                  |«      z  }|‰z  }dt        ‰|	z  |
z  «      z   dz   }t        j                  |||«      }t        j                  |‰|	|
z  f«      j                  d«      }|t        j
                  |«      z  }|dz  }|d	z  }|d
z
  }t        ‰«      D ]  }||d d …f   t        ||   «      f–— Œ Œô	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w­w)NÚrbr   z>IIIIz>IIÚ>ÚBÚfloat32g     ào@g       @g      ð?)ÚgzipÚGzipFileÚreadÚstructÚunpack_fromÚcalcsizeÚstrÚnumpyÚreshapeÚastypeÚrangeÚint)Ú
image_fileÚimg_bufÚ
label_fileÚlab_bufÚ
step_labelÚ
offset_imgÚmagic_byte_imgÚ	magic_imgÚ	image_numÚrowsÚcolsÚ
offset_labÚmagic_byte_labÚ	magic_labÚ	label_numÚ	fmt_labelÚlabelsÚ
fmt_imagesÚimages_tempÚimagesÚiÚbuffer_sizeÚimage_filenameÚlabel_filenames                        €€€ú]G:\00. PROJECTS\API\Inventory\templateJSON\kerjaOCR\Lib\site-packages\paddle/dataset/mnist.pyÚreaderzreader_creator.<locals>.reader+   sñ  øè ø€ Ü�]‰]˜>¨4Ô0°JØ —o‘oÓ'ˆGÜ—‘˜~¨tÔ4¸
Ø$Ÿ/™/Ó+�à�
à�
ð ")�Ü39×3EÑ3EØ" G¨Zó4Ñ0�	˜9 d¨Dð œfŸo™o¨nÓ=Ñ=�
à�
à!&�Ü'-×'9Ñ'9Ø" G¨Zó(Ñ$�	˜9ð œfŸo™o¨nÓ=Ñ=�
àØ! YÒ.ØØ #¤c¨+Ó&6Ñ 6¸Ñ <�IÜ#×/Ñ/°	¸7ÀJÓO�FØ¤&§/¡/°)Ó"<Ñ<�JØ +Ñ-�Jà!$¤s¨;¸Ñ+=ÀÑ+DÓ'EÑ!EÈÑ!K�JÜ"(×"4Ñ"4Ø" G¨Zó#�Kô #Ÿ]™]Ø# k°4¸$±;Ð%?óç‘f˜YÓ'ð ð ¤&§/¡/°*Ó"=Ñ=�Jà# e™^�FØ# c™\�FØ# c™\�Fä" ;Ö/˜Ø$ Qª T™l¬C°°q±	«NÐ:Ó:ð 0ð+ à÷3 5÷ 1Ð0ç4Ð4ú÷ 1Ð0üs5   ƒG!š'GÁE6G	Æ8GÇ 	G!Ç	G	ÇGÇGÇG!© )r0   r1   r/   r3   s   ``` r2   Úreader_creatorr5   *   s   ú€ ö0;ðd €Mó    z2.0.0zpaddle.vision.datasets.MNISTé   z>Please use new dataset API which supports paddle.io.DataLoader)ÚsinceÚ	update_toÚlevelÚreasonc                  óà   — t        t        j                  j                  j	                  t
        dt        «      t        j                  j                  j	                  t        dt        «      d«      S )zÐ
    MNIST training set creator.

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

    :return: Training reader creator
    :rtype: callable
    Úmnistéd   )	r5   ÚpaddleÚdatasetÚcommonÚdownloadÚTRAIN_IMAGE_URLÚTRAIN_IMAGE_MD5ÚTRAIN_LABEL_URLÚTRAIN_LABEL_MD5r4   r6   r2   ÚtrainrG   `   sV   € ô  Ü�‰×Ñ×&Ñ&Ü˜W¤oó	
ô 	�‰×Ñ×&Ñ&Ü˜W¤oó	
ð 	óð r6   c                  óà   — t        t        j                  j                  j	                  t
        dt        «      t        j                  j                  j	                  t        dt        «      d«      S )zÉ
    MNIST test set creator.

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

    :return: Test reader creator.
    :rtype: callable
    r=   r>   )	r5   r?   r@   rA   rB   ÚTEST_IMAGE_URLÚTEST_IMAGE_MD5ÚTEST_LABEL_URLÚTEST_LABEL_MD5r4   r6   r2   ÚtestrM   {   sL   € ô  Ü�‰×Ñ×&Ñ&¤~°wÄÓOÜ�‰×Ñ×&Ñ&¤~°wÄÓOØóð r6   c                  óœ  — t         j                  j                  j                  t        dt
        «       t         j                  j                  j                  t        dt        «       t         j                  j                  j                  t        dt        «       t         j                  j                  j                  t        dt        «       y )Nr=   )r?   r@   rA   rB   rC   rD   rE   rF   rI   rJ   rK   rL   r4   r6   r2   ÚfetchrO   ’   st   € ô ‡N�N×Ñ×"Ñ"¤?°G¼_ÔMÜ
‡N�N×Ñ×"Ñ"¤?°G¼_ÔMÜ
‡N�N×Ñ×"Ñ"¤>°7¼NÔKÜ
‡N�N×Ñ×"Ñ"¤>°7¼NÕKr6   )Ú__doc__r   r   r   Úpaddle.dataset.commonr?   Úpaddle.utilsr   Ú__all__Ú
URL_PREFIXrI   rJ   rK   rL   rC   rD   rE   rF   r5   rG   rM   rO   r4   r6   r2   Ú<module>rU      sÜ   ðñó Û ã ã Ý #à
€à3€
ØÐ9Ñ9€Ø3€ØÐ9Ñ9€Ø3€ØÐ;Ñ;€Ø4€ØÐ;Ñ;€Ø4€ò3ñl Ø
Ø,Ø
ØKô	ñóðñ* Ø
Ø,Ø
ØKô	ñóðñ" Ø
Ø,Ø
ØKô	ñLóñLr6   