+
     °³j+  ã                   ó�   € ^ RI t ^ RI Ht ^ RIHt ^ RIHtHtHtHtH	t	 ^ RI
Ht ^RIHt ^RIHtHtHt ^RIHt  ! R	 R
]4      tR# )é    N)Úpath)ÚPath)ÚAnyÚCallableÚcastÚOptionalÚUnion)Úurljoin)Údefault_loader)Úcheck_integrityÚdownload_and_extract_archiveÚverify_str_arg)ÚVisionDatasetc                   ó„  a a€ ] tR t^t oRtR$tRtRR%RR&/tR'tRR(RR)RR*RR+/t	R,R-R.R/R0R1R2R3R4R5R6R7R8R9R:R;/t
RR	R	R
R
]3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4       t]V3R lR l4       tR<V3R lR lltR<V3R lR 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# )=Ú	Places365a“  `Places365 <http://places2.csail.mit.edu/index.html>`_ classification dataset.

Args:
    root (str or ``pathlib.Path``): Root directory of the Places365 dataset.
    split (string, optional): The dataset split. Can be one of ``train-standard`` (default), ``train-challenge``,
        ``val``, ``test``.
    small (bool, optional): If ``True``, uses the small images, i.e. resized to 256 x 256 pixels, instead of the
        high resolution ones.
    download (bool, optional): If ``True``, downloads the dataset components and places them in ``root``. Already
        downloaded archives are not downloaded again.
    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.
    loader (callable, optional): A function to load an image given its path.

 Attributes:
    classes (list): List of the class names.
    class_to_idx (dict): Dict with items (class_name, class_index).
    imgs (list): List of (image path, class_index) tuples
    targets (list): The class_index value for each image in the dataset

Raises:
    RuntimeError: If ``download is False`` and the meta files, i.e. the devkit, are not present or corrupted.
    RuntimeError: If ``download is True`` and the image archive is already extracted.
útrain-standardútrain-challengeÚvalÚtestz+http://data.csail.mit.edu/places/places365/ÚstandardÚ	challengeFNc                ó–   <€ V ^8„  d   QhRS[ S[S[3,          RS[RS[RS[RS[S[,          RS[S[,          RS[S[.S[3,          RR	/# )
é   ÚrootÚsplitÚsmallÚdownloadÚ	transformÚtarget_transformÚloaderÚreturnN)r	   Ústrr   Úboolr   r   r   )ÚformatÚ__classdict__s   "€Ú_/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchvision/datasets/places365.pyÚ__annotate__ÚPlaces365.__annotate__D   sy   ø€ ÷ #ñ #á‘C™�IÕð#ñ ð#ñ ð	#ñ
 ð#ñ ™HÕ%ð#ñ #¡8Õ,ð#ñ ™#˜¡˜Õ$ð#ð 
ñ#ó    c                ó  <€ \         SV `  WVR 7       V P                  V4      V n        W0n        Wpn        V P                  V4      w  V n        V n        V P                  V4      w  V n
        V n        V'       d   V P                  4        R# R# ))r   r   N)ÚsuperÚ__init__Ú_verify_splitr   r   r    Úload_categoriesÚclassesÚclass_to_idxÚload_file_listÚimgsÚtargetsÚdownload_images)	Úselfr   r   r   r   r   r   r    Ú	__class__s	   &&&&&&&&€r&   r,   ÚPlaces365.__init__D   s{   ø€ ô 	‰Ñ˜ÐEUÐÔVà×'Ñ'¨Ó.ˆŒ
ØŒ
ØŒà*.×*>Ñ*>¸xÓ*HÑ'ˆŒ�dÔ'Ø"&×"5Ñ"5°hÓ"?ÑˆŒ	�4”<çØ× Ñ Ö"ñ r)   c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[3,          /# )r   Úindexr!   )ÚintÚtupler   )r$   r%   s   "€r&   r'   r(   Z   s#   ø€ ÷ ñ ¡ð ©©s±C¨x­ñ r)   c                ó–   € V P                   V,          w  r#V P                  V4      pV P                  e   V P                  WC4      w  rCWC3# ©N)r2   r    Ú
transforms)r5   r9   ÚfileÚtargetÚimages   &&   r&   Ú__getitem__ÚPlaces365.__getitem__Z   sB   € Ø—y‘y Õ'‰ˆØ—‘˜DÓ!ˆà�?‰?Ò&Ø ŸO™O¨EÓ:‰MˆEàˆ}Ðr)   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r!   )r:   )r$   r%   s   "€r&   r'   r(   c   s   ø€ ÷ ñ ™ñ r)   c                ó,   € \        V P                  4      # r=   )Úlenr2   ©r5   s   &r&   Ú__len__ÚPlaces365.__len__c   s   € Ü�4—9‘9‹~Ðr)   c                ó    <€ V ^8„  d   QhRS[ /# rE   ©r"   )r$   r%   s   "€r&   r'   r(   g   s   ø€ ÷ Hñ H™ñ Hr)   c                ó,   € R V P                   9   d   R # R# )r   r   ©r   rH   s   &r&   ÚvariantÚPlaces365.variantf   s   € à)¨T¯Z©ZÔ7ˆ{ÐG¸ZÐGr)   c                ó    <€ V ^8„  d   QhRS[ /# rE   rL   )r$   r%   s   "€r&   r'   r(   k   s   ø€ ÷ )ñ )™Cñ )r)   c                óú   € V P                   '       d   R MRpV P                  P                  R4      '       d   RV RV P                   2pMV P                   RV 2p\        P
                  ! V P                  V4      # )Ú256ÚlargeÚtrainÚdata_Ú_)r   r   Ú
startswithrO   r   Újoinr   )r5   ÚsizeÚdirs   &  r&   Ú
images_dirÚPlaces365.images_dirj   se   € àŸ
Ÿ
˜
‰u¨ˆØ�:‰:× Ñ  ×)Ò)Ø˜$˜˜q §¡ Ð/‰Cà—Z‘Z�L  $ Ð(ˆCÜ�yŠy˜Ÿ™ CÓ(Ð(r)   c                ób   <€ V ^8„  d   QhRS[ RS[S[S[,          S[S[S[3,          3,          /# )r   r   r!   )r#   r;   Úlistr"   Údictr:   )r$   r%   s   "€r&   r'   r(   s   s2   ø€ ÷ 9ñ 9©ð 9¹¹dÁ3½iÉÉcÑSVÈhÍÐ>WÕ8Xñ 9r)   c                ó|  a€ R  R loV P                   w  r#\        P                  ! V P                  V4      pV P	                  W#V4      '       g   V P                  4        \        V4      ;_uu_ 4       p\        V3R lV 4       4      pRRR4       \        XP                  4       4      V3#   + '       g   i     L+; i)c                óR   € V ^8„  d   QhR\         R\        \         \        3,          /# )r   Úliner!   )r"   r;   r:   )r$   s   "r&   r'   Ú/Places365.load_categories.<locals>.__annotate__t   s"   € ÷ 	!ñ 	!œ#ð 	!¤%¬¬S¨¥/ñ 	!r)   c                 ó@   € V P                  4       w  rV\        V4      3# r=   )r   r:   )rc   ÚclsÚidxs   &  r&   ÚprocessÚ*Places365.load_categories.<locals>.processt   s   € Ø—z‘z“|‰HˆCØœ˜C›�=Ð r)   c              3   ó4   <"  € T F  pS! V4      x € K  	  R # 5ir=   © )Ú.0rc   rh   s   & €r&   Ú	<genexpr>Ú,Places365.load_categories.<locals>.<genexpr>~   s   øé € Ð=¹"°$¡¨§ »"ùs   ƒN)
Ú_CATEGORIES_METAr   rY   r   Ú_check_integrityÚdownload_devkitÚopenr`   ÚsortedÚkeys)r5   r   r?   Úmd5Úfhr0   rh   s   &&    @r&   r.   ÚPlaces365.load_categoriess   s�   ø€ õ	!ð ×)Ñ)‰	ˆÜ�yŠy˜Ÿ™ DÓ)ˆØ×$Ñ$ T°×9Ò9Ø× Ñ Ô"ä�$�ZŒZ˜2ÜÔ=¹"Ó=Ó=ˆL÷ ô �l×'Ñ'Ó)Ó*¨LÐ8Ð8÷ �Zús   Á2B+Â+B;	c          
      óš   <€ V ^8„  d   QhRS[ RS[S[S[S[S[S[R3,          3,          ,          S[S[S[R3,          ,          3,          /# )r   r   r!   N)r#   r;   r_   r"   r	   r:   )r$   r%   s   "€r&   r'   r(   ‚   sM   ø€ ÷ %ñ %Ùð%á	‰t‘E™#™u¡S¨$ YÕ/Ð/Õ0Õ1±4¹¹cÀ4¸iÕ8HÕ3IÐIÕ	Jñ%r)   c                ó®  a € RR V 3R lllpS P                   S P                  ,          w  r4\        P                  ! S P                  V4      pS P                  W4V4      '       g   S P                  4        \        V4      ;_uu_ 4       pV Uu. uF
  qb! V4      NK  	  ppRRR4       \        X!  w  r‰V\        V	4      3# u upi   + '       g   i     L-; i)Ú/c                ól   € V ^8„  d   QhR\         R\        \         \        \        R3,          3,          /# )r   rc   r!   N)r"   r;   r	   r:   )r$   s   "r&   r'   Ú.Places365.load_file_list.<locals>.__annotate__…   s1   € ÷ 	[ñ 	[œ#ð 	[¬5´´e¼CÀ¸IÕ6FÐ1FÕ+Gñ 	[r)   c                 ó(  <€ V P                  4       R .,           R,          w  r#\        \        V4      pVe   \        V4      MR p\        P
                  ! SP                  VP                  V4      P                  V\        P                  4      4      V3# )N:Nr   N)r   r   r"   r:   r   rY   r\   ÚlstripÚreplaceÚosÚsep)rc   r�   rA   rg   r5   s   &&  €r&   rh   Ú)Places365.load_file_list.<locals>.process…   sl   ø€ ØŸ*™*›,¨$¨Õ/°Õ4‰JˆEÜœ˜eÓ$ˆEØ!šo”#�c”(°4ˆCÜ—9’9˜TŸ_™_¨e¯l©l¸3Ó.?×.GÑ.GÈÌRÏVÉVÓ.TÓUÐWZÐZÐZr)   N)rz   )
Ú_FILE_LIST_METAr   r   rY   r   rp   rq   rr   Úzipr_   )
r5   r   rh   r?   ru   rv   rc   ÚimagesrW   r3   s
   f&        r&   r1   ÚPlaces365.load_file_list‚   s«   ø€ ÷	[ò 	[ð ×(Ñ(¨¯©Õ4‰	ˆÜ�yŠy˜Ÿ™ DÓ)ˆØ×$Ñ$ T°×9Ò9Ø× Ñ Ô"ä�$�ZŒZ˜2Ù02Ó3±¨�g˜d–m±ˆFÐ3÷ ô ˜&‘\‰
ˆØ”t˜G“}Ð$Ð$ùò 4÷ �Zús   ÂCÂB?ÂCÂ?CÃC	c                ó   <€ V ^8„  d   QhRR/# ©r   r!   Nrk   )r$   r%   s   "€r&   r'   r(   –   s   ø€ ÷ Xñ X ñ Xr)   c                óœ   € V P                   V P                  ,          w  r\        \        V P                  V4      V P
                  VR 7       R# )©ru   N)Ú_DEVKIT_METArO   r   r
   Ú	_BASE_URLr   ©r5   r?   ru   s   &  r&   rq   ÚPlaces365.download_devkit–   s4   € Ø×%Ñ% d§l¡lÕ3‰	ˆÜ$¤W¨T¯^©^¸TÓ%BÀDÇIÁIÐSV×Wr)   c                ó   <€ V ^8„  d   QhRR/# rˆ   rk   )r$   r%   s   "€r&   r'   r(   š   s   ø€ ÷ Jñ J ñ Jr)   c                óÎ  € \         P                  ! V P                  4      '       d   R # V P                  V P                  V P
                  3,          w  r\        \        V P                  V4      V P                  VR7       V P                  P                  R4      '       dE   \        P                  ! V P                  P                  R^4      ^ ,          V P                  4       R # R # )NrŠ   rU   rW   )r   Úexistsr\   Ú_IMAGES_METAr   r   r   r
   rŒ   r   rX   r€   ÚrenameÚrsplitr�   s   &  r&   r4   ÚPlaces365.download_imagesš   s•   € Ü�;Š;�t—‘×'Ò'Ùà×%Ñ% t§z¡z°4·:±:Ð&>Õ?‰	ˆÜ$¤W¨T¯^©^¸TÓ%BÀDÇIÁIÐSVÕWà�:‰:× Ñ  ×)Ò)Ü�IŠI�d—o‘o×,Ñ,¨S°!Ó4°QÕ7¸¿¹ÖIñ *r)   c                ó    <€ V ^8„  d   QhRS[ /# rE   rL   )r$   r%   s   "€r&   r'   r(   ¤   s   ø€ ÷ Wñ W™Cñ Wr)   c                óX   € R P                  R4      P                  ! R/ V P                  B # )Ú
)zSplit: {split}zSmall: {small}rk   )rY   r$   Ú__dict__rH   s   &r&   Ú
extra_reprÚPlaces365.extra_repr¤   s$   € Ø�y‰yÐ=Ó>×EÒEÑVÈÏÉÑVÐVr)   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r   r   r!   rL   )r$   r%   s   "€r&   r'   r(   §   s   ø€ ÷ <ñ <¡3ð <©3ñ <r)   c                ó0   € \        VR V P                  4      # rN   )r   Ú_SPLITS)r5   r   s   &&r&   r-   ÚPlaces365._verify_split§   s   € Ü˜e W¨d¯l©lÓ;Ð;r)   c                ó2   <€ V ^8„  d   QhRS[ RS[ RS[RS[/# )r   r?   ru   r   r!   )r"   r#   )r$   r%   s   "€r&   r'   r(   ª   s)   ø€ ÷ ñ ¡Sð ©sð ¹dð Átñ r)   c                ó\   € \        WR 7      pV'       g   V'       g   \        RV R24      hV# )rŠ   z	The file zJ does not exist or is corrupted. You can set download=True to download it.)r   ÚRuntimeError)r5   r?   ru   r   Ú	integritys   &&&& r&   rp   ÚPlaces365._check_integrityª   s3   € Ü# DÔ2ˆ	ß§ÜØ˜D˜6Ð!kÐlóð ð Ðr)   )r0   r/   r2   r    r   r   r3   )r   r   r   r   )zfilelist_places365-standard.tarÚ 35a0585fee1fa656440f3ab298f8479c)z filelist_places365-challenge.tarÚ 70a8307e459c3de41690a7c76c931734)zcategories_places365.txtÚ 06c963b85866bd0649f97cb43dd16673)zplaces365_train_standard.txtÚ 30f37515461640559006b8329efbed1a)zplaces365_train_challenge.txtÚ b2931dc997b8c33c27e7329c073a6b57)zplaces365_val.txtÚ e9f2fd57bfd9d07630173f4e8708e4b1)zplaces365_test.txtÚ 2fce8233fe493576d724142e45d93653)r   F)z!train_large_places365standard.tarÚ 67e186b496a84c929568076ed01a8aa1)r   F)z"train_large_places365challenge.tarÚ 605f18e68e510c82b958664ea134545f)r   F)zval_large.tarÚ 9b71c4993ad89d2d8bcbdc4aef38042f)r   F)ztest_large.tarÚ 41a4b6b724b1d2cd862fb3871ed59913)r   T)ztrain_256_places365standard.tarÚ 53ca1c756c3d1e7809517cc47c5561c5)r   T)z train_256_places365challenge.tarÚ 741915038a5e3471ec7332404dfb64ef)r   T)zval_256.tarÚ e27b17d8d44f4af9a78502beb927f808)r   T)ztest_256.tarÚ f532f6ad7b582262a2ec8009075e186b)T)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rž   rŒ   r‹   ro   rƒ   r’   r   r,   rB   rI   ÚpropertyrO   r\   r.   r1   rq   r4   rš   r-   rp   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r6   r%   s   @@r&   r   r      s<  ù‡ € ñð6 C€GØ=€Ið 	Ð[ØÐ]ð€Lð
 XÐð 	Ð^ØÐ`ØÐHØÐJð	€Oð 	"Ð#lØ"Ð$nØÐMØÐOØ Ð"iØ!Ð#kØÐJØÐLð	€Lð &ØØØ(,Ø/3Ø'5÷#õ #÷,ð ÷ð ð ÷Hó ðHð ÷)ó ð)÷9ò 9÷%ò %÷(Xð X÷Jð J÷Wð W÷<ð <÷÷ ð r)   r   )r€   r   Úpathlibr   Útypingr   r   r   r   r	   Úurllib.parser
   Úfolderr   Úutilsr   r   r   Úvisionr   r   rk   r)   r&   Ú<module>rÃ      s1   ðÛ 	Ý Ý ß 7Õ 7Ý  å "ß PÑ PÝ !ôd�ö dr)   