+
     °³jÕ  ã                   ó|   € ^ RI t^ RIHt ^ RIHtHtHtHt ^ RI	t
^ RIHt ^RIHtHtHt ^RIHt  ! R R]4      tR# )	é    N)ÚPath)ÚAnyÚCallableÚOptionalÚUnion)ÚImage)Úcheck_integrityÚdownload_urlÚverify_str_arg)ÚVisionDatasetc                   ó¼   a a€ ] tR t^t oRtR. ROR. ROR. RO/tRV3R lV 3R llltV3R lR ltV3R	 lR
 ltV3R lR lt	V3R lR lt
V3R lR ltRtVtV ;t# )ÚSVHNaD  `SVHN <http://ufldl.stanford.edu/housenumbers/>`_ Dataset.
Note: The SVHN dataset assigns the label `10` to the digit `0`. However, in this Dataset,
we assign the label `0` to the digit `0` to be compatible with PyTorch loss functions which
expect the class labels to be in the range `[0, C-1]`

.. warning::

    This class needs `scipy <https://docs.scipy.org/doc/>`_ to load data from `.mat` format.

Args:
    root (str or ``pathlib.Path``): Root directory of the dataset where the data is stored.
    split (string): One of {'train', 'test', 'extra'}.
        Accordingly dataset is selected. 'extra' is Extra training 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.

ÚtrainÚtestÚextrac                ór   <€ V ^8„  d   QhRS[ S[S[3,          RS[RS[S[,          RS[S[,          RS[RR/# )é   ÚrootÚsplitÚ	transformÚtarget_transformÚdownloadÚreturnN)r   Ústrr   r   r   Úbool)ÚformatÚ__classdict__s   "€ÚZ/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchvision/datasets/svhn.pyÚ__annotate__ÚSVHN.__annotate__6   sZ   ø€ ÷ &:ñ &:á‘C™�IÕð&:ñ ð&:ñ ™HÕ%ð	&:ñ
 #¡8Õ,ð&:ñ ð&:ð 
ñ&:ó    c                ó†  <€ \         SV `  WVR 7       \        VR\        V P                  P                  4       4      4      V n        V P                  V,          ^ ,          V n        V P                  V,          ^,          V n        V P                  V,          ^,          V n	        V'       d   V P                  4        V P                  4       '       g   \        R4      h^ RIHp VP                  \         P"                  P%                  V P&                  V P                  4      4      pVR,          V n        VR,          P+                  \,        P.                  4      P1                  4       V n        \,        P4                  ! V P2                  V P2                  ^
8H  ^ 4       \,        P6                  ! V P(                  R4      V n        R# ))r   r   r   zHDataset not found or corrupted. You can use download=True to download itNÚXÚy)é   r   r   é   )ÚsuperÚ__init__r   ÚtupleÚ
split_listÚkeysr   ÚurlÚfilenameÚfile_md5r   Ú_check_integrityÚRuntimeErrorÚscipy.ioÚioÚloadmatÚosÚpathÚjoinr   ÚdataÚastypeÚnpÚint64ÚsqueezeÚlabelsÚplaceÚ	transpose)	Úselfr   r   r   r   r   ÚsioÚ
loaded_matÚ	__class__s	   &&&&&&  €r   r(   ÚSVHN.__init__6   s1  ø€ ô 	‰Ñ˜ÐEUÐÔVÜ# E¨7´E¸$¿/¹/×:NÑ:NÓ:PÓ4QÓRˆŒ
Ø—?‘? 5Õ)¨!Õ,ˆŒØŸ™¨Õ.¨qÕ1ˆŒØŸ™¨Õ.¨qÕ1ˆŒçØ�M‰MŒOà×$Ñ$×&Ò&ÜÐiÓjÐjõ 	ð —[‘[¤§¡§¡¨d¯i©i¸¿¹Ó!GÓHˆ
à˜s•OˆŒ	ð
 ! •o×,Ñ,¬R¯X©XÓ6×>Ñ>Ó@ˆŒô
 	�Š�—‘˜dŸk™k¨RÑ/°Ô3Ü—L’L §¡¨LÓ9ˆŽ	r!   c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[3,          /# )r   Úindexr   )Úintr)   r   )r   r   s   "€r   r   r    ^   s#   ø€ ÷ ñ ¡ð ©©s±C¨x­ñ r!   c                ó6  € V P                   V,          \        V P                  V,          4      r2\        P                  ! \
        P                  ! VR4      4      pV P                  e   V P                  V4      pV P                  e   V P                  V4      pW#3# )zn
Args:
    index (int): Index

Returns:
    tuple: (image, target) where target is index of the target class.
)r&   r   r   )	r7   rF   r<   r   Ú	fromarrayr9   r>   r   r   )r?   rE   ÚimgÚtargets   &&  r   Ú__getitem__ÚSVHN.__getitem__^   sy   € ð —i‘i Õ&¬¨D¯K©K¸Õ,>Ó(?ˆVô �oŠoœbŸlšl¨3°	Ó:Ó;ˆà�>‰>Ò%Ø—.‘. Ó%ˆCà× Ñ Ò,Ø×*Ñ*¨6Ó2ˆFàˆ{Ðr!   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   )rF   )r   r   s   "€r   r   r    t   s   ø€ ÷ ñ ™ñ r!   c                ó,   € \        V P                  4      # )N)Úlenr7   ©r?   s   &r   Ú__len__ÚSVHN.__len__t   s   € Ü�4—9‘9‹~Ðr!   c                ó    <€ V ^8„  d   QhRS[ /# rN   )r   )r   r   s   "€r   r   r    w   s   ø€ ÷ +ñ +¡$ñ +r!   c                óÊ   € V P                   pV P                  V P                  ,          ^,          p\        P                  P                  WP                  4      p\        W24      # )r   )r   r*   r   r4   r5   r6   r-   r	   )r?   r   Úmd5Úfpaths   &   r   r/   ÚSVHN._check_integrityw   sC   € Ø�y‰yˆØ�o‰o˜dŸj™jÕ)¨!Õ,ˆÜ—‘—‘˜T§=¡=Ó1ˆÜ˜uÓ*Ð*r!   c                ó   <€ V ^8„  d   QhRR/# )r   r   N© )r   r   s   "€r   r   r    }   s   ø€ ÷ >ñ >˜$ñ >r!   c                ó¦   € V P                   V P                  ,          ^,          p\        V P                  V P                  V P
                  V4       R# )r   N)r*   r   r
   r,   r   r-   )r?   rV   s   & r   r   ÚSVHN.download}   s3   € Ø�o‰o˜dŸj™jÕ)¨!Õ,ˆÜ�T—X‘X˜tŸy™y¨$¯-©-¸Ö=r!   c                ó    <€ V ^8„  d   QhRS[ /# rN   )r   )r   r   s   "€r   r   r    �   s   ø€ ÷ 8ñ 8™Cñ 8r!   c                ó:   € R P                   ! R/ V P                  B # )zSplit: {split}rZ   )r   Ú__dict__rQ   s   &r   Ú
extra_reprÚSVHN.extra_repr�   s   € Ø×&Ò&Ñ7¨¯©Ñ7Ð7r!   )r7   r.   r-   r<   r   r,   )z6http://ufldl.stanford.edu/housenumbers/train_32x32.matztrain_32x32.matÚ e26dedcc434d2e4c54c9b2d4a06d8373)z5http://ufldl.stanford.edu/housenumbers/test_32x32.matztest_32x32.matÚ eb5a983be6a315427106f1b164d9cef3)z6http://ufldl.stanford.edu/housenumbers/extra_32x32.matzextra_32x32.matÚ a93ce644f1a588dc4d68dda5feec44a7)r   NNF)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r*   r(   rK   rR   r/   r   r`   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)rB   r   s   @@r   r   r      sq   ù‡ € ñð0 	ò 
ð
 	ò 
ð
 	ò 
ð€J÷$&:õ &:÷Pð ÷,ð ÷+ð +÷>ð >÷8÷ 8ð 8r!   r   )Úos.pathr4   Úpathlibr   Útypingr   r   r   r   Únumpyr9   ÚPILr   Úutilsr	   r
   r   Úvisionr   r   rZ   r!   r   Ú<module>rt      s.   ðÛ Ý ß 1Ó 1ã Ý ç @Ñ @Ý !ôv8ˆ=ö v8r!   