ó
    Eñi˜  ã                   ó”   • S SK rS SKrS SKJr  S SKJrJrJrJ	r	  S SK
rS SKJr  SSKJrJr  SSKJr   " S S	\5      r " S
 S\5      rg)é    N)ÚPath)ÚAnyÚCallableÚOptionalÚUnion)ÚImageé   )Úcheck_integrityÚdownload_and_extract_archive)ÚVisionDatasetc                   ó  ^ • \ rS rSrSrSrSrSrSrSS/S	S
/SS/SS/SS//r	SS//r
SSSS.r    S'S\\\4   S\S\\   S\\   S\SS4U 4S jjjrS(S jrS \S\\\4   4S! jrS\4S" jrS\4S# jrS(S$ jrS\4S% jrS&rU =r$ ))ÚCIFAR10é   a.  `CIFAR10 <https://www.cs.toronto.edu/~kriz/cifar.html>`_ Dataset.

Args:
    root (str or ``pathlib.Path``): Root directory of dataset where directory
        ``cifar-10-batches-py`` exists or will be saved to if download is set to True.
    train (bool, optional): If True, creates dataset from training set, otherwise
        creates from test set.
    transform (callable, optional): A function/transform that takes in a PIL image
        and returns a transformed version. E.g, ``transforms.RandomCrop``
    target_transform (callable, optional): A function/transform that takes in the
        target and transforms it.
    download (bool, optional): If true, downloads the dataset from the internet and
        puts it in root directory. If dataset is already downloaded, it is not
        downloaded again.

zcifar-10-batches-pyz7https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gzzcifar-10-python.tar.gzÚ c58f30108f718f92721af3b95e74349aÚdata_batch_1Ú c99cafc152244af753f735de768cd75fÚdata_batch_2Ú d4bba439e000b95fd0a9bffe97cbabecÚdata_batch_3Ú 54ebc095f3ab1f0389bbae665268c751Údata_batch_4Ú 634d18415352ddfa80567beed471001aÚdata_batch_5Ú 482c414d41f54cd18b22e5b47cb7c3cbÚ
test_batchÚ 40351d587109b95175f43aff81a1287ezbatches.metaÚlabel_namesÚ 5ff9c542aee3614f3951f8cda6e48888©ÚfilenameÚkeyÚmd5NÚrootÚtrainÚ	transformÚtarget_transformÚdownloadÚreturnc                 ó–  >• [         TU ]  XUS9  X l        U(       a  U R                  5         U R	                  5       (       d  [        S5      eU R                  (       a  U R                  nOU R                  n/ U l        / U l	        U HÅ  u  px[        R                  R                  U R                  U R                  U5      n	[        U	S5       n
[         R"                  " U
SS9nU R                  R%                  US   5        SU;   a  U R                  R'                  US   5        OU R                  R'                  US   5        S S S 5        MÇ     [(        R*                  " U R                  5      R-                  S	S
SS5      U l        U R                  R/                  S5      U l        U R1                  5         g ! , (       d  f       GMA  = f)N)r%   r&   zHDataset not found or corrupted. You can use download=True to download itÚrbÚlatin1©ÚencodingÚdataÚlabelsÚfine_labelséÿÿÿÿé   é    )r   é   r2   r	   )ÚsuperÚ__init__r$   r'   Ú_check_integrityÚRuntimeErrorÚ
train_listÚ	test_listr.   ÚtargetsÚosÚpathÚjoinr#   Úbase_folderÚopenÚpickleÚloadÚappendÚextendÚnpÚvstackÚreshapeÚ	transposeÚ
_load_meta)Úselfr#   r$   r%   r&   r'   Údownloaded_listÚ	file_nameÚchecksumÚ	file_pathÚfÚentryÚ	__class__s               €ÚW/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torchvision/datasets/cifar.pyr6   ÚCIFAR10.__init__4   sY  ø€ ô 	‰Ñ˜ÐEUÐÑVàŒ
æØ�M‰MŒOà×$Ñ$×&Ñ&ÜÐiÓjÐjà�:�:Ø"Ÿo™o‰Oà"Ÿn™nˆOàˆŒ	ØˆŒó $3ÑˆIÜŸ™Ÿ™ T§Y¡Y°×0@Ñ0@À)ÓLˆIÜ�i Ô&¨!ÜŸš A°Ñ9�Ø—	‘	× Ñ   v¡Ô/Ø˜uÓ$Ø—L‘L×'Ñ'¨¨h©Õ8à—L‘L×'Ñ'¨¨mÑ(<Ô=÷ 'Ñ&ñ $3ô —I’I˜dŸi™iÓ(×0Ñ0°°Q¸¸BÓ?ˆŒ	Ø—I‘I×'Ñ'¨Ó5ˆŒ	à�‰Õ÷ '×&ús   ÃA7F8Æ8
G	c                 óä  • [         R                  R                  U R                  U R                  U R
                  S   5      n[        XR
                  S   5      (       d  [        S5      e[        US5       n[        R                  " USS9nX0R
                  S      U l        S S S 5        [        U R                  5       VVs0 s H  u  pEXT_M	     snnU l        g ! , (       d  f       N>= fs  snnf )Nr    r"   zVDataset metadata file not found or corrupted. You can use download=True to download itr*   r+   r,   r!   )r<   r=   r>   r#   r?   Úmetar
   r8   r@   rA   rB   ÚclassesÚ	enumerateÚclass_to_idx)rJ   r=   Úinfiler.   ÚiÚ_classs         rR   rI   ÚCIFAR10._load_meta_   s¶   € Ü�w‰w�|‰|˜DŸI™I t×'7Ñ'7¸¿¹À:Ñ9NÓOˆÜ˜t§Y¡Y¨uÑ%5×6Ñ6ÜÐwÓxÐxÜ�$˜Ô Ü—;’;˜v°Ñ9ˆDØ§	¡	¨%Ñ 0Ñ1ˆDŒL÷ ô 9BÀ$Ç,Á,Ô8OÔPÒ8O©9¨1˜VšYÑ8OÒPˆÕ÷ Õüó Qs   Á7,CÃC,Ã
C)Úindexc                 óæ   • U R                   U   U R                  U   p2[        R                  " U5      nU R                  b  U R	                  U5      nU R
                  b  U R                  U5      nX#4$ )zn
Args:
    index (int): Index

Returns:
    tuple: (image, target) where target is index of the target class.
)r.   r;   r   Ú	fromarrayr%   r&   )rJ   r]   ÚimgÚtargets       rR   Ú__getitem__ÚCIFAR10.__getitem__h   si   € ð —i‘i Ñ&¨¯©°UÑ(;ˆVô �oŠo˜cÓ"ˆà�>‰>Ñ%Ø—.‘. Ó%ˆCà× Ñ Ñ,Ø×*Ñ*¨6Ó2ˆFàˆ{Ðó    c                 ó,   • [        U R                  5      $ )N)Úlenr.   ©rJ   s    rR   Ú__len__ÚCIFAR10.__len__~   s   € Ü�4—9‘9‹~Ðrd   c                 óÖ   • U R                   U R                  -    HL  u  p[        R                  R	                  U R
                  U R                  U5      n[        X25      (       a  ML    g   g)NFT)r9   r:   r<   r=   r>   r#   r?   r
   )rJ   r    r"   Úfpaths       rR   r7   ÚCIFAR10._check_integrity�   sN   € Ø!Ÿ_™_¨t¯~©~Ô=‰MˆHÜ—G‘G—L‘L §¡¨D×,<Ñ,<¸hÓGˆEÜ" 5×.Ó.Ùñ >ð rd   c                 ó˜   • U R                  5       (       a  g [        U R                  U R                  U R                  U R
                  S9  g )N)r    r"   )r7   r   Úurlr#   r    Útgz_md5rg   s    rR   r'   ÚCIFAR10.downloadˆ   s5   € Ø× Ñ ×"Ñ"ØÜ$ T§X¡X¨t¯y©yÀ4Ç=Á=ÐVZ×VbÑVbÓcrd   c                 ó2   • U R                   SL a  SOSnSU 3$ )NTÚTrainÚTestzSplit: )r$   )rJ   Úsplits     rR   Ú
extra_reprÚCIFAR10.extra_repr�   s!   € ØŸ:™:¨Ò-‘°6ˆØ˜˜Ð Ð rd   )rX   rV   r.   r;   r$   )TNNF)r(   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r?   rn   r    ro   r9   r:   rU   r   Ústrr   Úboolr   r   r6   rI   ÚintÚtupler   rb   rh   r7   r'   ru   Ú__static_attributes__Ú__classcell__)rQ   s   @rR   r   r      s,  ø† ñð" (€KØ
C€CØ'€HØ0€Gà	Ð;Ð<Ø	Ð;Ð<Ø	Ð;Ð<Ø	Ð;Ð<Ø	Ð;Ð<ð€Jð 
Ð9Ð:ð€Ið #ØØ1ñ€Dð Ø(,Ø/3Øñ)à�C˜�IÑð)ð ð)ð ˜HÑ%ð	)ð
 # 8Ñ,ð)ð ð)ð 
÷)ð )ôVQð ð ¨¨s°C¨x©ô ð,˜ô ð $ô ôdð
!˜C÷ !ò !rd   r   c                   óH   • \ rS rSrSrSrSrSrSrSS//r	S	S
//r
SSSS.rSrg)ÚCIFAR100é’   zq`CIFAR100 <https://www.cs.toronto.edu/~kriz/cifar.html>`_ Dataset.

This is a subclass of the `CIFAR10` Dataset.
zcifar-100-pythonz8https://www.cs.toronto.edu/~kriz/cifar-100-python.tar.gzzcifar-100-python.tar.gzÚ eb9058c3a382ffc7106e4002c42a8d85r$   Ú 16019d7e3df5f24257cddd939b257f8dÚtestÚ f0ef6b0ae62326f3e7ffdfab6717acfcrU   Úfine_label_namesÚ 7973b15100ade9c7d40fb424638fde48r   © N)rw   rx   ry   rz   r{   r?   rn   r    ro   r9   r:   rU   r€   r‹   rd   rR   rƒ   rƒ   ’   sQ   † ñð
 %€KØ
D€CØ(€HØ0€Gà	Ð4Ð5ð€Jð
 
Ð3Ð4ð€Ið Ø!Ø1ñƒDrd   rƒ   )Úos.pathr<   rA   Úpathlibr   Útypingr   r   r   r   ÚnumpyrE   ÚPILr   Úutilsr
   r   Úvisionr   r   rƒ   r‹   rd   rR   Ú<module>r“      s;   ðÛ Û Ý ß 1Ó 1ã Ý ç @Ý !ôB!ˆmô B!ôJˆwõ rd   