ó
    Eñi  ã                   óv   • 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g)é    N)ÚPath)ÚAnyÚCallableÚOptionalÚUnioné   )Ú_Image_fromarrayé   )Úcheck_integrityÚdownload_url)ÚVisionDatasetc                   ó²   ^ • \ rS rSrSrSrSrSr   SS\\	\
4   S\\   S	\\   S
\SS4
U 4S jjjrS\S\\\4   4S jrS\4S jrS\4S jrSS jrSrU =r$ )ÚSEMEIONé   aš  `SEMEION <http://archive.ics.uci.edu/ml/datasets/semeion+handwritten+digit>`_ Dataset.

Args:
    root (str or ``pathlib.Path``): Root directory of dataset where directory
        ``semeion.py`` exists.
    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.

zMhttp://archive.ics.uci.edu/ml/machine-learning-databases/semeion/semeion.datazsemeion.dataÚ cb545d371d2ce14ec121470795a77432NÚrootÚ	transformÚtarget_transformÚdownloadÚreturnc                 ó  >• [         TU ]  XUS9  U(       a  U R                  5         U R                  5       (       d  [	        S5      e[
        R                  R                  U R                  U R                  5      n[        R                  " U5      nUS S 2S S24   S-  R                  S5      U l        [        R                  " U R                  S5      U l        [        R                  " US S 2SS 24   5      S   U l        g )N)r   r   zHDataset not found or corrupted. You can use download=True to download ité   éÿ   Úuint8)éÿÿÿÿé   r   r
   )ÚsuperÚ__init__r   Ú_check_integrityÚRuntimeErrorÚosÚpathÚjoinr   ÚfilenameÚnpÚloadtxtÚastypeÚdataÚreshapeÚnonzeroÚlabels)Úselfr   r   r   r   Úfpr(   Ú	__class__s          €ÚY/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torchvision/datasets/semeion.pyr   ÚSEMEION.__init__    sÂ   ø€ ô 	‰Ñ˜ÐEUÐÑVæØ�M‰MŒOà×$Ñ$×&Ñ&ÜÐiÓjÐjä�W‰W�\‰\˜$Ÿ)™) T§]¡]Ó3ˆÜ�zŠz˜"‹~ˆð š!˜T˜c˜T˜'‘] SÑ(×0Ñ0°Ó9ˆŒ	Ü—J’J˜tŸy™y¨,Ó7ˆŒ	Ü—j’j ¢a¨© g¡Ó/°Ñ2ˆ�ó    Úindexc                 óà   • U R                   U   [        U R                  U   5      p2[        USS9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.
ÚL)Úmode)r(   Úintr+   r	   r   r   )r,   r2   ÚimgÚtargets       r/   Ú__getitem__ÚSEMEION.__getitem__7   sl   € ð —i‘i Ñ&¬¨D¯K©K¸Ñ,>Ó(?ˆVô ˜s¨Ñ-ˆà�>‰>Ñ%Ø—.‘. Ó%ˆCà× Ñ Ñ,Ø×*Ñ*¨6Ó2ˆFàˆ{Ðr1   c                 ó,   • [        U R                  5      $ ©N)Úlenr(   )r,   s    r/   Ú__len__ÚSEMEION.__len__M   s   € Ü�4—9‘9‹~Ðr1   c                 ó¤   • U R                   n[        R                  R                  XR                  5      n[        X R                  5      (       d  gg)NFT)r   r!   r"   r#   r$   r   Úmd5_checksum)r,   r   Úfpaths      r/   r   ÚSEMEION._check_integrityP   s8   € Ø�y‰yˆÜ—‘—‘˜T§=¡=Ó1ˆÜ˜u×&7Ñ&7×8Ñ8ØØr1   c                 óž   • U R                  5       (       a  g U R                  n[        U R                  XR                  U R
                  5        g r<   )r   r   r   Úurlr$   rA   )r,   r   s     r/   r   ÚSEMEION.downloadW   s7   € Ø× Ñ ×"Ñ"Øà�y‰yˆÜ�T—X‘X˜t§]¡]°D×4EÑ4EÕFr1   )r(   r+   )NNT)r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rE   r$   rA   r   Ústrr   r   r   Úboolr   r6   Útupler   r9   r>   r   r   Ú__static_attributes__Ú__classcell__)r.   s   @r/   r   r      s±   ø† ñð Z€CØ€HØ5€Lð
 )-Ø/3Øñ3à�C˜�IÑð3ð ˜HÑ%ð3ð # 8Ñ,ð	3ð
 ð3ð 
÷3ð 3ð. ð ¨¨s°C¨x©ô ð,˜ô ð $ô ÷Gò Gr1   r   )Úos.pathr!   Úpathlibr   Útypingr   r   r   r   Únumpyr%   Úutilsr	   r   r   Úvisionr   r   © r1   r/   Ú<module>rX      s-   ðÛ Ý ß 1Ó 1ã å $ß 0Ý !ôPGˆmõ PGr1   