+
     °³jÚ"  ã                   óô   € ^ RI t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
HtHt ^ RIt^RIHt ^RIHtHtHt RRR	RR
R/tRt ! R R]4      tRR R lltR R ltRR R lltRR R lltRR R lltR# )é    N)ÚIterator)Úcontextmanager)ÚPath)ÚAnyÚOptionalÚUnion)ÚImageFolder)Úcheck_integrityÚextract_archiveÚverify_str_argÚtrainÚvalÚdevkitzmeta.binc                   ó†   a a€ ] tR t^t oR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4       tV3R lR	 lt	R
t
VtV ;t# )ÚImageNetaà  `ImageNet <http://image-net.org/>`_ 2012 Classification Dataset.

.. note::
    Before using this class, it is required to download ImageNet 2012 dataset from
    `here <https://image-net.org/challenges/LSVRC/2012/2012-downloads.php>`_ and
    place the files ``ILSVRC2012_devkit_t12.tar.gz`` and ``ILSVRC2012_img_train.tar``
    or ``ILSVRC2012_img_val.tar`` based on ``split`` in the root directory.

Args:
    root (str or ``pathlib.Path``): Root directory of the ImageNet Dataset.
    split (string, optional): The dataset split, supports ``train``, or ``val``.
    transform (callable, optional): A function/transform that takes in a PIL image or torch.Tensor, depends on the given loader,
        and returns a transformed version. E.g, ``transforms.RandomCrop``
    target_transform (callable, optional): A function/transform that takes in the
        target and transforms it.
    loader (callable, optional): A function to load an image given its path.
        By default, it uses PIL as its image loader, but users could also pass in
        ``torchvision.io.decode_image`` for decoding image data into tensors directly.

 Attributes:
    classes (list): List of the class name tuples.
    class_to_idx (dict): Dict with items (class_name, class_index).
    wnids (list): List of the WordNet IDs.
    wnid_to_idx (dict): Dict with items (wordnet_id, class_index).
    imgs (list): List of (image path, class_index) tuples
    targets (list): The class_index value for each image in the dataset
c                óF   <€ V ^8„  d   QhRS[ S[S[3,          RS[RS[RR/# )é   ÚrootÚsplitÚkwargsÚreturnN)r   Ústrr   r   )ÚformatÚ__classdict__s   "€Ú^/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchvision/datasets/imagenet.pyÚ__annotate__ÚImageNet.__annotate__4   s9   ø€ ÷ `ñ `™U¡3© 9Õ-ð `±cð `Ésð `ÐW[ñ `ó    c                ó,  <€ \         P                  P                  V4      ;qn        \	        VR R4      V n        V P                  4        \        V P                  4      ^ ,          p\        S	V `$  ! V P                  3/ VB  Wn        V P                  V n        V P                  V n        V P                   Uu. uF  qTV,          NK  	  upV n        \        V P                  4       UUUu/ uF  w  rgV F  qˆVbK  	  K  	  upppV n        R# u upi u upppi )r   N)r   r   )ÚosÚpathÚ
expanduserr   r   r   Úparse_archivesÚload_meta_fileÚsuperÚ__init__Úsplit_folderÚclassesÚwnidsÚclass_to_idxÚwnid_to_idxÚ	enumerate)
Úselfr   r   r   Úwnid_to_classesÚwnidÚidxÚclssÚclsÚ	__class__s
   &&&,     €r   r&   ÚImageNet.__init__4   sÜ   ø€ ÜŸ7™7×-Ñ-¨dÓ3Ð3ˆŒyÜ# E¨7Ð4DÓEˆŒ
à×ÑÔÜ(¨¯©Ó3°AÕ6ˆä‰Ò˜×*Ñ*Ñ5¨fÒ5ØŒ	à—\‘\ˆŒ
Ø×,Ñ,ˆÔØ:>¿*º*ÓE¹*°$¨×-Ð-¹*ÑEˆŒÜ7@ÀÇÁÔ7NÕ_Ñ7N©)¨#ÓZ^ÐSV #šXÑZ^™SÑ7NÓ_ˆÖùò FùÜ_s   Â6D
Ã(Dc                ó   <€ V ^8„  d   QhRR/# )r   r   N© )r   r   s   "€r   r   r   C   s   ø€ ÷ -ñ - ñ -r   c                ó¬  € \        \        P                  P                  V P                  \
        4      4      '       g   \        V P                  4       \        P                  P                  V P                  4      '       gS   V P                  R 8X  d   \        V P                  4       R# V P                  R8X  d   \        V P                  4       R# R# R# )r   r   N)r
   r    r!   Újoinr   Ú	META_FILEÚparse_devkit_archiveÚisdirr'   r   Úparse_train_archiveÚparse_val_archive©r-   s   &r   r#   ÚImageNet.parse_archivesC   s   € ÜœrŸw™wŸ|™|¨D¯I©I´yÓA×BÒBÜ  §¡Ô+ä�w‰w�}‰}˜T×.Ñ.×/Ò/Ø�z‰z˜WÔ$Ü# D§I¡IÖ.Ø—‘˜uÔ$Ü! $§)¡)Ö,ñ %ñ 0r   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   ©r   )r   r   s   "€r   r   r   N   s   ø€ ÷ 3ñ 3™cñ 3r   c                ój   € \         P                  P                  V P                  V P                  4      # ©N)r    r!   r8   r   r   r>   s   &r   r'   ÚImageNet.split_folderM   s   € ä�w‰w�|‰|˜DŸI™I t§z¡zÓ2Ð2r   c                ó    <€ V ^8„  d   QhRS[ /# rA   rB   )r   r   s   "€r   r   r   Q   s   ø€ ÷ 8ñ 8™Cñ 8r   c                ó:   € R P                   ! R/ V P                  B # )zSplit: {split}r6   )r   Ú__dict__r>   s   &r   Ú
extra_reprÚImageNet.extra_reprQ   s   € Ø×&Ò&Ñ7¨¯©Ñ7Ð7r   )r*   r(   r   r   r+   r)   )r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r&   r#   Úpropertyr'   rI   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r3   r   s   @@r   r   r      sC   ù‡ € ñ÷8`õ `÷-ð -ð ÷3ó ð3÷8÷ 8ð 8r   r   c          	      óÎ   € V ^8„  d   QhR\         \        \        3,          R\        \        ,          R\        \
        \        \        3,          \        \        ,          3,          /# )r   r   Úfiler   )r   r   r   r   ÚtupleÚdictÚlist)r   s   "r   r   r   U   sL   € ÷ 3ñ 3œœs¤D˜yÕ)ð 3´¼#µð 3Ì%ÔPTÔUXÔZ]ÐU]ÕP^Ô`dÔehÕ`iÐPiÕJjñ 3r   c                 óÞ   € Vf   \         p\        P                  P                  W4      p\	        V4      '       d   \
        P                  ! VRR7      # Rp\        VP                  W4      4      h)NT)Úweights_onlyz‚The meta file {} is not present in the root directory or is corrupted. This file is automatically created by the ImageNet dataset.)	r9   r    r!   r8   r
   ÚtorchÚloadÚRuntimeErrorr   )r   rU   Úmsgs   && r   r$   r$   U   s[   € Ø‚|ÜˆÜ�7‰7�<‰<˜Ó#€Dä�t×ÒÜ�zŠz˜$¨TÔ2Ð2ðJð 	ô ˜3Ÿ:™: dÓ1Ó2Ð2r   c                ób   € V ^8„  d   QhR\         \        \        3,          R\        R\        RR/# )r   r   rU   Úmd5r   N)r   r   r   )r   s   "r   r   r   d   s1   € ÷ 3ñ 3œ%¤¤T 	Õ*ð 3´#ð 3¼Cð 3ÀDñ 3r   c                 óœ   € \        \        P                  P                  W4      V4      '       g   R p\	        VP                  W4      4      hR# )z{The archive {} is not present in the root directory or is corrupted. You need to download it externally and place it in {}.N)r
   r    r!   r8   r]   r   )r   rU   r`   r^   s   &&& r   Ú_verify_archiverb   d   sB   € Üœ2Ÿ7™7Ÿ<™<¨Ó3°S×9Ò9ðEð 	ô ˜3Ÿ:™: dÓ1Ó2Ð2ñ :r   c                ól   € V ^8„  d   QhR\         \        \        3,          R\        \        ,          RR/# )r   r   rU   r   N©r   r   r   r   )r   s   "r   r   r   m   s4   € ÷ 3Pñ 3Pœu¤S¬$ YÕ/ð 3P´xÄµ}ð 3PÐPTñ 3Pr   c           	     óh  a€ ^ RI Ho R V3R llpR R lp\        R R l4       p\        R,          pVf
   V^ ,          pV^,          p\	        WV4       V! 4       ;_uu_ 4       p\        \        P                  P                  W4      V4       \        P                  P                  VR	4      pV! V4      w  ršV! V4      pV Uu. uF  qÉV,          NK  	  pp\        P                  ! W­3\        P                  P                  V \        4      4       RRR4       R# u upi   + '       g   i     R# ; i)
a1  Parse the devkit archive of the ImageNet2012 classification dataset and save
the meta information in a binary file.

Args:
    root (str or ``pathlib.Path``): Root directory containing the devkit archive
    file (str, optional): Name of devkit archive. Defaults to
        'ILSVRC2012_devkit_t12.tar.gz'
Nc          
      ó°   € V ^8„  d   QhR\         R\        \        \        \         3,          \        \         \        \         R3,          3,          3,          /# )r   Údevkit_rootr   .)r   rV   rW   Úint)r   s   "r   r   Ú*parse_devkit_archive.<locals>.__annotate__x   sA   € ÷ 	,ñ 	,¤Cð 	,¬E´$´s¼C°xµ.Ä$ÄsÌEÔRUÐWZÐRZÍOÐG[ÕB\Ð2\Õ,]ñ 	,r   c                 ó<  <€ \         P                  P                  V R R4      pSP                  VRR7      R,          p\	        \        V!  4      ^,          p\        V4       UUu. uF  w  rEV^ 8X  g   K  W$,          NK  	  ppp\	        \        V!  4      R,          w  rgpV U	u. uF  p	\        V	P                  R4      4      NK  	  pp	\        Wg4       UU
u/ uF  w  rJWJbK	  	  ppp
\        Wx4       U
U	u/ uF  w  r©W©bK	  	  pp
p	W¼3# u uppi u up	i u up
pi u up	p
i )Údatazmeta.matT)Ú
squeeze_meÚsynsets:Né   Nz, )	r    r!   r8   ÚloadmatrX   Úzipr,   rV   r   )rg   ÚmetafileÚmetaÚnums_childrenr0   Únum_childrenÚidcsr)   r(   r1   r/   Úidx_to_wnidr.   Úsios   &            €r   Úparse_meta_matÚ,parse_devkit_archive.<locals>.parse_meta_matx   sÿ   ø€ Ü—7‘7—<‘< ¨V°ZÓ@ˆØ�{‰{˜8°ˆ{Ó5°iÕ@ˆÜœS $™ZÓ(¨Õ+ˆÜ3<¸]Ô3KÔaÑ3KÑ/˜cÈ|Ð_`ÑO`”	�—	�	Ñ3KˆÑaÜ#¤C¨¡JÓ/°Õ3Ñˆ�WÙ7>Ó?±w¨t”5˜Ÿ™ DÓ)Ö*±wˆÐ?Ü25°dÔ2BÔCÑ2B¡Y S�s’yÑ2BˆÑCÜ8;¸EÔ8KÔLÑ8K©*¨$˜4š:Ñ8KˆÑLØÐ+Ð+ùó bùâ?ùÛCùÛLs   Á$DÁ4DÂ##DÃDÃ4Dc                óF   € V ^8„  d   QhR\         R\        \        ,          /# )r   rg   r   )r   rX   rh   )r   s   "r   r   ri   ƒ   s   € ÷ 6ñ 6¬sð 6´t¼Cµyñ 6r   c                 ó  € \         P                  P                  V R R4      p\        V4      ;_uu_ 4       pVP	                  4       pRRR4       X Uu. uF  p\        V4      NK  	  up#   + '       g   i     L+; iu upi )rk   z&ILSVRC2012_validation_ground_truth.txtN)r    r!   r8   ÚopenÚ	readlinesrh   )rg   rU   ÚtxtfhÚval_idcsÚval_idxs   &    r   Úparse_val_groundtruth_txtÚ7parse_devkit_archive.<locals>.parse_val_groundtruth_txtƒ   sX   € Ü�w‰w�|‰|˜K¨Ð1YÓZˆÜ�$�ZŒZ˜5Ø—‘Ó(ˆH÷ á,4Ó5©H ”�G–©HÑ5Ð5÷ �Züâ5s   µA)ÁA<Á)A9	c                ó:   € V ^8„  d   QhR\         \        ,          /# rA   )r   r   )r   s   "r   r   ri   Š   s   € ÷ #ñ #œ¤#�ñ #r   c               3   ó¤   "  € \         P                  ! 4       p  V x € \        P                  ! V 4       R #   \        P                  ! T 4       i ; i5irD   )ÚtempfileÚmkdtempÚshutilÚrmtree)Útmp_dirs    r   Úget_tmp_dirÚ)parse_devkit_archive.<locals>.get_tmp_dir‰   s5   é € ä×"Ò"Ó$ˆð	#ØŠMä�MŠM˜'Ö"øŒF�MŠM˜'Õ"üs   ‚A™5 �AµAÁAr   ÚILSVRC2012_devkit_t12)Úscipy.ioÚior   ÚARCHIVE_METArb   r   r    r!   r8   r[   Úsaver9   )r   rU   rx   r�   rŠ   Úarchive_metar`   r‰   rg   rv   r.   r   r0   Ú	val_wnidsrw   s   &&            @r   r:   r:   m   sô   ø€ õ ÷	,ð 	,õ6ô ô#ó ð#ô   Õ)€LØ‚|Ø˜A�ˆØ
�q�/€Cä�D Ô$á	�Œ˜'ÜœŸ™Ÿ™ TÓ0°'Ô:ä—g‘g—l‘l 7Ð,CÓDˆÙ'5°kÓ'BÑ$ˆÙ,¨[Ó9ˆÙ19Ó:±¨# ×%Ð%±ˆ	Ð:ä�
Š
�OÐ/´·±·±¸dÄIÓ1NÔO÷ 
‰ùò ;÷ 
�ˆús   Á$A D ÃDÃ<D ÄD Ä D1	c                óx   € V ^8„  d   QhR\         \        \        3,          R\        \        ,          R\        RR/# )r   r   rU   Úfolderr   Nrd   )r   s   "r   r   r   £   s=   € ÷ Uñ Uœe¤C¬ IÕ.ð U´h¼sµmð UÔTWð UÐfjñ Ur   c                óø  € \         R,          pVf
   V^ ,          pV^,          p\        WV4       \        P                  P	                  W4      p\        \        P                  P	                  W4      V4       \        P                  ! V4       Uu. uF"  p\        P                  P	                  WV4      NK$  	  ppV F5  p\        V\        P                  P                  V4      ^ ,          RR7       K7  	  R# u upi )a¢  Parse the train images archive of the ImageNet2012 classification dataset and
prepare it for usage with the ImageNet dataset.

Args:
    root (str or ``pathlib.Path``): Root directory containing the train images archive
    file (str, optional): Name of train images archive. Defaults to
        'ILSVRC2012_img_train.tar'
    folder (str, optional): Optional name for train images folder. Defaults to
        'train'
r   NT)Úremove_finished)r�   rb   r    r!   r8   r   ÚlistdirÚsplitext)r   rU   r”   r‘   r`   Ú
train_rootÚarchiveÚarchivess   &&&     r   r<   r<   £   s´   € ô   Õ(€LØ‚|Ø˜A�ˆØ
�q�/€Cä�D Ô$ä—‘—‘˜dÓ+€JÜ”B—G‘G—L‘L Ó,¨jÔ9äACÇÂÈJÔAWÓXÑAW°g”—‘—‘˜ZÖ1ÑAW€HÐXÛˆÜ˜¤§¡×!1Ñ!1°'Ó!:¸1Õ!=Èt×Tó ùò Ys   Â(C7c          
      ó°   € V ^8„  d   QhR\         \        \        3,          R\        \        ,          R\        \        \        ,          ,          R\        RR/# )r   r   rU   r)   r”   r   N)r   r   r   r   rX   )r   s   "r   r   r   ½   sQ   € ÷ !Xñ !XÜ
””T�	Õ
ð!XÜ"*¬3¥-ð!XÜ?GÌÌSÍ	Õ?Rð!XÜcfð!Xà	ñ!Xr   c                óÎ  a	€ \         R,          pVf
   V^ ,          pV^,          pVf   \        V 4      ^,          p\        WV4       \        P                  P                  W4      o	\        \        P                  P                  W4      S	4       \        V	3R l\        P                  ! S	4       4       4      p\        V4       F7  p\        P                  ! \        P                  P                  S	V4      4       K9  	  \        W&4       FX  w  rx\        P                  ! V\        P                  P                  S	V\        P                  P                  V4      4      4       KZ  	  R# )aR  Parse the validation images archive of the ImageNet2012 classification dataset
and prepare it for usage with the ImageNet dataset.

Args:
    root (str or ``pathlib.Path``): Root directory containing the validation images archive
    file (str, optional): Name of validation images archive. Defaults to
        'ILSVRC2012_img_val.tar'
    wnids (list, optional): List of WordNet IDs of the validation images. If None
        is given, the IDs are loaded from the meta file in the root directory
    folder (str, optional): Optional name for validation images folder. Defaults to
        'val'
r   Nc              3   ód   <"  € T F%  p\         P                  P                  SV4      x € K'  	  R # 5irD   )r    r!   r8   )Ú.0ÚimageÚval_roots   & €r   Ú	<genexpr>Ú$parse_val_archive.<locals>.<genexpr>Ø   s%   øé € ÐTÑ?S°e”B—G‘G—L‘L ¨5×1Ð1Ó?Sùs   ƒ-0)r�   r$   rb   r    r!   r8   r   Úsortedr—   ÚsetÚmkdirrp   r‡   ÚmoveÚbasename)
r   rU   r)   r”   r‘   r`   Úimagesr/   Úimg_filer¡   s
   &&&&     @r   r=   r=   ½   sð   ø€ ô   Õ&€LØ‚|Ø˜A�ˆØ
�q�/€CØ‚}Ü˜tÓ$ QÕ'ˆä�D Ô$ä�w‰w�|‰|˜DÓ)€HÜ”B—G‘G—L‘L Ó,¨hÔ7äÔT¼r¿zºzÈ(Ô?SÓTÓT€Fä�E–
ˆÜ
�Š”—‘—‘˜h¨Ó-Ö.ñ ô ˜eÖ,‰ˆÜ�Š�HœbŸg™gŸl™l¨8°T¼2¿7¹7×;KÑ;KÈHÓ;UÓVÖWó -r   )zILSVRC2012_img_train.tarÚ 1d675b47d978889d74fa0da5fadfb00e)zILSVRC2012_img_val.tarÚ 29b22e2961454d5413ddabcf34fc5622)zILSVRC2012_devkit_t12.tar.gzÚ fa75699e90414af021442c21a62c3abfrD   )Nr   )NNr   )r    r‡   r…   Úcollections.abcr   Ú
contextlibr   Úpathlibr   Útypingr   r   r   r[   r”   r	   Úutilsr
   r   r   r�   r9   r   r$   rb   r:   r<   r=   r6   r   r   Ú<module>r³      s{   ðÛ 	Û Û Ý $Ý %Ý ß 'Ñ 'ã å ß CÑ Cð ÐMØ	ÐIØÐRð€ð €	ô;8ˆ{ô ;8÷|3õ3÷3P÷lU÷4!Xñ !Xr   