+
     °³j@  ã                   ó€   € ^ RI t ^ RIt ^ RIt^ RIHt ^ RIHtHtHtH	t	 ^ RI
Ht ^RIHtHt ^RIHt  ! R R]4      tR# )	é    N)ÚSequence)ÚAnyÚCallableÚOptionalÚUnion)ÚImage)Údownload_and_extract_archiveÚverify_str_arg)ÚVisionDatasetc                   ó–   a a€ ] tR t^t oRtRt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t	V3R lR	 lt
V3R
 lR ltRtVtV ;t# )ÚOxfordIIITPetaX  `Oxford-IIIT Pet Dataset   <https://www.robots.ox.ac.uk/~vgg/data/pets/>`_.

Args:
    root (str or ``pathlib.Path``): Root directory of the dataset.
    split (string, optional): The dataset split, supports ``"trainval"`` (default) or ``"test"``.
    target_types (string, sequence of strings, optional): Types of target to use. Can be ``category`` (default) or
        ``segmentation``. Can also be a list to output a tuple with all specified target types. The types represent:

            - ``category`` (int): Label for one of the 37 pet categories.
            - ``binary-category`` (int): Binary label for cat or dog.
            - ``segmentation`` (PIL image): Segmentation trimap of the image.

        If empty, ``None`` will be returned as target.

    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.
    transforms (callable, optional): A function/transform that takes input sample
        and its target as entry and returns a transformed version.
    download (bool, optional): If True, downloads the dataset from the internet and puts it into
        ``root/oxford-iiit-pet``. If dataset is already downloaded, it is not downloaded again.
c                óÄ   <€ V ^8„  d   QhRS[ S[S[P                  3,          RS[RS[ S[S[,          S[3,          RS[S[,          RS[S[,          RS[S[,          RS[/# )é   ÚrootÚsplitÚtarget_typesÚ
transformsÚ	transformÚtarget_transformÚdownload)r   ÚstrÚpathlibÚPathr   r   r   Úbool)ÚformatÚ__classdict__s   "€Úe/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchvision/datasets/oxford_iiit_pet.pyÚ__annotate__ÚOxfordIIITPet.__annotate__+   s…   ø€ ÷ 3Wñ 3Wá‘C™Ÿ™Ð%Õ&ð3Wñ ð3Wñ ™H¡S�M©3Ð.Õ/ð	3Wñ
 ™XÕ&ð3Wñ ™HÕ%ð3Wñ #¡8Õ,ð3Wñ ñ3Wó    c           
     ó  <€ \        VR R4      V n        \        V\        4      '       d   V.pV Uu. uF  p\        VRV P                  4      NK  	  upV n        \        SV `  WWVR7       \        P                  ! V P                  4      R,          V n        V P                  R,          V n        V P                  R,          V n        V P                  R,          V n        V'       d   V P                  4        V P!                  4       '       g   \#        R4      h. p	. V n        . V n        \)        V P                  V P                   R2,          4      ;_uu_ 4       p
V
 F‹  pVP+                  4       P-                  4       w  rÍrïV	P/                  V4       V P$                  P/                  \1        V4      ^,
          4       V P&                  P/                  \1        V4      ^,
          4       K�  	  R	R	R	4       R
R.V n        \5        \7        W�P$                  4       UUu0 uF   w  rÍVP9                  R^4      ^ ,          V3kK"  	  uppR R7       UUu. uF-  w  ppRP;                  R VP-                  R4       4       4      NK/  	  uppV n        \?        \7        V P2                  \A        \C        V P2                  4      4      4      4      V n"        \?        \7        V P<                  \A        \C        V P<                  4      4      4      4      V n#        V	 Uu. uF  qÀP                  V R2,          NK  	  upV n$        V	 Uu. uF  qÀP                  V R2,          NK  	  upV n%        R	# u upi   + '       g   i     EL‚; iu uppi u uppi u upi u upi )r   r   )r   r   r   zoxford-iiit-petÚimagesÚannotationsÚtrimapsz;Dataset not found. You can use download=True to download itz.txtNÚCatÚDogÚ_c                 ó   € V ^,          # )é   © )Úimage_id_and_labels   &r   Ú<lambda>Ú(OxfordIIITPet.__init__.<locals>.<lambda>W   s
   € Ð/AÀ!Ö/Dr    )ÚkeyÚ c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5i©N)Útitle)Ú.0Úparts   & r   Ú	<genexpr>Ú)OxfordIIITPet.__init__.<locals>.<genexpr>T   s   é € ÐAÑ.@ d—Z‘Z—\�\Ó.@ùs   ‚z.jpgz.png)ÚtrainvalÚtest)&r
   Ú_splitÚ
isinstancer   Ú_VALID_TARGET_TYPESÚ_target_typesÚsuperÚ__init__r   r   r   Ú_base_folderÚ_images_folderÚ_anns_folderÚ_segs_folderÚ	_downloadÚ_check_existsÚRuntimeErrorÚ_labelsÚ_bin_labelsÚopenÚstripr   ÚappendÚintÚbin_classesÚsortedÚzipÚrsplitÚjoinÚclassesÚdictÚrangeÚlenÚbin_class_to_idxÚclass_to_idxÚ_imagesÚ_segs)Úselfr   r   r   r   r   r   r   Útarget_typeÚ	image_idsÚfileÚlineÚimage_idÚlabelÚ	bin_labelr'   Úraw_clsÚ	__class__s   &&&&&&&&         €r   r>   ÚOxfordIIITPet.__init__+   sä  ø€ ô % U¨GÐ5IÓJˆŒÜ�l¤C×(Ò(Ø(˜>ˆLáeqó
ÙeqÐVaŒN˜;¨¸×8PÑ8PÖQÑeqñ
ˆÔô 	‰Ñ˜À	ÐÔmÜ#ŸLšL¨¯©Ó3Ð6GÕGˆÔØ"×/Ñ/°(Õ:ˆÔØ ×-Ñ-°Õ=ˆÔØ ×-Ñ-°	Õ9ˆÔçØ�N‰NÔà×!Ñ!×#Ò#ÜÐ\Ó]Ð]àˆ	ØˆŒØˆÔÜ�$×#Ñ#¨¯©¨°TÐ&:Õ:×;Ô;¸tÛ�Ø04·
±
³×0BÑ0BÓ0DÑ-� Ø× Ñ  Ô*Ø—‘×#Ñ#¤C¨£J°¥NÔ3Ø× Ñ ×'Ñ'¬¨I«¸Õ(:Ö;ñ	 ÷ <ð " 5˜>ˆÔô %ÜLOÐPY×[gÑ[gÔLhÔiÑLh¹¸�(—/‘/ # qÓ)¨!Õ,¨eÓ4ÑLhÒiÙDõô
ñ‘
�˜ð �H‰HÑA¨g¯m©m¸CÔ.@ÓAÖAñò
ˆŒô !%¤S¨×)9Ñ)9¼5ÄÀT×EUÑEUÓAVÓ;WÓ%XÓ YˆÔÜ ¤ T§\¡\´5¼¸T¿\¹\Ó9JÓ3KÓ!LÓMˆÔáPYÓZÑPYÀH×+Ñ+°°
¸$Ð.?×?Ð?ÑPYÑZˆŒÙLUÓVÉIÀ×'Ñ'¨X¨J°dÐ*;×;Ð;ÉIÑVˆŽ
ùòM
÷& <×;Ð;üó jùó
ùò [ùÚVs*   ± MÅBM#È&M7
É3M=ÌNÌ6NÍ#M4	c                ó    <€ V ^8„  d   QhRS[ /# ©r   Úreturn)rK   )r   r   s   "€r   r   r   `   s   ø€ ÷ !ñ !™ñ !r    c                ó,   € \        V P                  4      # r1   )rT   rW   )rY   s   &r   Ú__len__ÚOxfordIIITPet.__len__`   s   € Ü�4—<‘<Ó Ð r    c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[3,          /# )r   Úidxrf   )rK   Útupler   )r   r   s   "€r   r   r   c   s#   ø€ ÷ ñ ™sð ¡u©S±#¨X¥ñ r    c                ó`  € \         P                  ! V P                  V,          4      P                  R 4      p. pV P                   F�  pVR8X  d%   VP                  V P                  V,          4       K.  VR8X  d%   VP                  V P                  V,          4       KY  VP                  \         P                  ! V P                  V,          4      4       K‘  	  V'       g   RpM%\        V4      ^8X  d   V^ ,          pM\        V4      pV P                  '       d   V P                  W#4      w  r#W#3# )ÚRGBÚcategoryúbinary-categoryN)r   rH   rW   Úconvertr<   rJ   rF   rG   rX   rT   rl   r   )rY   rk   ÚimageÚtargetrZ   s   &&   r   Ú__getitem__ÚOxfordIIITPet.__getitem__c   sÜ   € Ü—
’
˜4Ÿ<™<¨Õ,Ó-×5Ñ5°eÓ<ˆàˆØ×-Ô-ˆKØ˜jÔ(Ø—‘˜dŸl™l¨3Õ/Ö0ØÐ 1Ô1Ø—‘˜d×.Ñ.¨sÕ3Ö4à—‘œeŸjšj¨¯©°C­Ó9Ö:ñ .÷ Ø‰FÜ�‹[˜AÔØ˜A•Y‰Fä˜6“]ˆFà�?�?ˆ?Ø ŸO™O¨EÓ:‰MˆEàˆ}Ðr    c                ó    <€ V ^8„  d   QhRS[ /# re   )r   )r   r   s   "€r   r   r   {   s   ø€ ÷ ñ ™tñ r    c                óÞ   € V P                   V P                  3 FP  p\        P                  P	                  V4      '       d(   \        P                  P                  V4      '       d   KO   R # 	  R# )FT)r@   rA   ÚosÚpathÚexistsÚisdir)rY   Úfolders   & r   rD   ÚOxfordIIITPet._check_exists{   sJ   € Ø×*Ñ*¨D×,=Ñ,=Ó>ˆFÜ—G‘G—N‘N 6×*Ò*¬r¯w©w¯}©}¸V×/DÔ/DÚñ ?ñ r    c                ó   <€ V ^8„  d   QhRR/# )r   rf   Nr*   )r   r   s   "€r   r   r   ‚   s   ø€ ÷ ]ñ ]˜4ñ ]r    c                ó¢   € V P                  4       '       d   R # V P                   F&  w  r\        V\        V P                  4      VR7       K(  	  R # )N)Údownload_rootÚmd5)rD   Ú
_RESOURCESr	   r   r?   )rY   Úurlr�   s   &  r   rC   ÚOxfordIIITPet._download‚   s<   € Ø×Ñ×ÒÙàŸœ‰HˆCÜ(¨¼CÀ×@QÑ@QÓ<RÐX[×\ó (r    )rA   r?   rG   rW   r@   rF   rX   rB   r9   r<   rU   rL   rV   rQ   ))z=https://www.robots.ox.ac.uk/~vgg/data/pets/data/images.tar.gzÚ 5c4f3ee8e5d25df40f4fd59a7f44e54c)zBhttps://www.robots.ox.ac.uk/~vgg/data/pets/data/annotations.tar.gzÚ 95a8c909bbe2e81eed6a22bccdf3f68f)ro   rp   Úsegmentation)r7   ro   NNNF)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r‚   r;   r>   rh   rt   rD   rC   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)rb   r   s   @@r   r   r      sW   ù‡ € ñð.€Jð JÐ÷3Wõ 3W÷j!ð !÷ð ÷0ð ÷]÷ ]ð ]r    r   )rx   Úos.pathr   Úcollections.abcr   Útypingr   r   r   r   ÚPILr   Úutilsr	   r
   Úvisionr   r   r*   r    r   Ú<module>r–      s0   ðÛ 	Û Û Ý $ß 1Ó 1å ç ?Ý !ôz]�Mö z]r    