+
     °³jh  ã                  ót   € ^ RI Ht ^ RIt^ RIHt ^ RIHtHt ^RIH	t	 ^RI
HtHt ^RIHt  ! R R	]4      tR# )
é    )ÚannotationsN)ÚPath)ÚAnyÚCallable)Údefault_loader)Údownload_and_extract_archiveÚverify_str_arg)ÚVisionDatasetc                  óv   a € ] tR t^tRtRtRRRRR]3R V 3R llltR	 R
 ltR R lt	R R lt
R R ltRtV ;t# )ÚFGVCAircraftaÎ  `FGVC Aircraft <https://www.robots.ox.ac.uk/~vgg/data/fgvc-aircraft/>`_ Dataset.

The dataset contains 10,000 images of aircraft, with 100 images for each of 100
different aircraft model variants, most of which are airplanes.
Aircraft models are organized in a three-levels hierarchy. The three levels, from
finer to coarser, are:

- ``variant``, e.g. Boeing 737-700. A variant collapses all the models that are visually
    indistinguishable into one class. The dataset comprises 100 different variants.
- ``family``, e.g. Boeing 737. The dataset comprises 70 different families.
- ``manufacturer``, e.g. Boeing. The dataset comprises 30 different manufacturers.

Args:
    root (str or ``pathlib.Path``): Root directory of the FGVC Aircraft dataset.
    split (string, optional): The dataset split, supports ``train``, ``val``,
        ``trainval`` and ``test``.
    annotation_level (str, optional): The annotation level, supports ``variant``,
        ``family`` and ``manufacturer``.
    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.
    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.
    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.
zWhttps://www.robots.ox.ac.uk/~vgg/data/fgvc-aircraft/archives/fgvc-aircraft-2013b.tar.gzÚtrainvalÚvariantNFc               ó8   € V ^8„  d   QhRRRRRRRRRRR	R
RRRR/# )é   Úrootz
str | PathÚsplitÚstrÚannotation_levelÚ	transformzCallable | NoneÚtarget_transformÚdownloadÚboolÚloaderzCallable[[str], Any]ÚreturnÚNone© )Úformats   "Úc/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchvision/datasets/fgvc_aircraft.pyÚ__annotate__ÚFGVCAircraft.__annotate__.   sZ   € ÷ 0ñ 0àð0ð ð0ð ð	0ð
 #ð0ð *ð0ð ð0ð %ð0ð 
ñ0ó    c           
     	ó„  <€ \         SV `  WVR 7       \        VRR4      V n        \        VRR4      V n        \
        P                  P                  V P                  R4      V n	        V'       d   V P                  4        V P                  4       '       g   \        R4      h\
        P                  P                  V P                  RRR	RR
RR/V P                  ,          4      p\        V4      ;_uu_ 4       p	V	 U
u. uF  qªP                  4       NK  	  up
V n        RRR4       \!        \#        V P                  \%        \'        V P                  4      4      4      4      V n        \
        P                  P                  V P                  RR4      p\
        P                  P                  V P                  RRV P                   RV P                   R24      p. V n        . V n        \        V4      ;_uu_ 4       p	V	 FŒ  p
V
P                  4       P/                  R^4      w  rÞV P*                  P1                  \
        P                  P                  W½ R24      4       V P,                  P1                  V P(                  V,          4       KŽ  	  RRR4       Wpn        R# u up
i   + '       g   i     EL‹; i  + '       g   i     L1; i))r   r   r   r   r   ÚfamilyÚmanufacturerzfgvc-aircraft-2013bz;Dataset not found. You can use download=True to download itÚdatazvariants.txtzfamilies.txtzmanufacturers.txtNÚimagesÚimages_Ú_z.txtÚ z.jpg)ÚtrainÚvalr   Útest)r   r#   r$   )ÚsuperÚ__init__r	   Ú_splitÚ_annotation_levelÚosÚpathÚjoinr   Ú
_data_pathÚ	_downloadÚ_check_existsÚRuntimeErrorÚopenÚstripÚclassesÚdictÚzipÚrangeÚlenÚclass_to_idxÚ_image_filesÚ_labelsr   Úappendr   )Úselfr   r   r   r   r   r   r   Úannotation_fileÚfÚlineÚimage_data_folderÚlabels_fileÚ
image_nameÚ
label_nameÚ	__class__s   &&&&&&&&       €r   r.   ÚFGVCAircraft.__init__.   s  ø€ ô 	‰Ñ˜ÐEUÐÔVÜ$ U¨GÐ5YÓZˆŒÜ!/ØÐ0Ð2Wó"
ˆÔô Ÿ'™'Ÿ,™, t§y¡yÐ2GÓHˆŒßØ�N‰NÔà×!Ñ!×#Ò#ÜÐ\Ó]Ð]äŸ'™'Ÿ,™,Ø�O‰OØà˜>Ø˜.ØÐ 3ðð ×$Ñ$õ	&ó
ˆô �/×"Ô" aÙ56Ó7±Q¨TŸJ™JžL±QÑ7ˆDŒL÷ #ô !¤ T§\¡\´5¼¸T¿\¹\Ó9JÓ3KÓ!LÓMˆÔäŸG™GŸL™L¨¯©¸&À(ÓKÐÜ—g‘g—l‘l 4§?¡?°F¸gÀd×F\ÑF\ÐE]Ð]^Ð_c×_jÑ_jÐ^kÐkoÐ<pÓqˆàˆÔØˆŒä�+×Ô !Û�Ø)-¯©«×);Ñ);¸CÀÓ)CÑ&�
Ø×!Ñ!×(Ñ(¬¯©¯©Ð6GÈ<ÐW[ÐI\Ó)]Ô^Ø—‘×#Ñ# D×$5Ñ$5°jÕ$AÖBñ ÷ ð
 Žùò 8÷ #×"Ð"ú÷ ×ús+   Ã4JÃ9JÄJÇ3BJ/ÊJÊJ,	Ê/J?	c               ó   € V ^8„  d   QhRR/# )r   r   Úintr   )r   s   "r   r   r    `   s   € ÷ &ñ &˜ñ &r!   c                	ó,   € \        V P                  4      # ©N)r>   r@   ©rC   s   &r   Ú__len__ÚFGVCAircraft.__len__`   s   € Ü�4×$Ñ$Ó%Ð%r!   c               ó    € V ^8„  d   QhRRRR/# )r   ÚidxrN   r   ztuple[Any, Any]r   )r   s   "r   r   r    c   s   € ÷ 
ñ 
˜sð 
 ñ 
r!   c                	ó   € V P                   V,          V P                  V,          r2V P                  V4      pV P                  '       d   V P                  V4      pV P                  '       d   V P	                  V4      pWC3# rP   )r@   rA   r   r   r   )rC   rU   Ú
image_fileÚlabelÚimages   &&   r   Ú__getitem__ÚFGVCAircraft.__getitem__c   sf   € Ø ×-Ñ-¨cÕ2°D·L±LÀÕ4E�EØ—‘˜JÓ'ˆà�>�>ˆ>Ø—N‘N 5Ó)ˆEà× × Ð Ø×)Ñ)¨%Ó0ˆEàˆ|Ðr!   c               ó   € V ^8„  d   QhRR/# )r   r   r   r   )r   s   "r   r   r    o   s   € ÷ ;ñ ;˜4ñ ;r!   c                óv   € V P                  4       '       d   R# \        V P                  V P                  4       R# )zG
Download the FGVC Aircraft dataset archive and extract it under root.
N)r6   r   Ú_URLr   rQ   s   &r   r5   ÚFGVCAircraft._downloado   s(   € ð ×Ñ×ÒÙÜ$ T§Y¡Y°·	±	Ö:r!   c               ó   € V ^8„  d   QhRR/# )r   r   r   r   )r   s   "r   r   r    w   s   € ÷ Rñ R˜tñ Rr!   c                	ó¶   € \         P                  P                  V P                  4      ;'       d*    \         P                  P	                  V P                  4      # rP   )r1   r2   Úexistsr4   ÚisdirrQ   s   &r   r6   ÚFGVCAircraft._check_existsw   s2   € Ü�w‰w�~‰~˜dŸo™oÓ.×QÐQ´2·7±7·=±=ÀÇÁÓ3QÐQr!   )r0   r4   r@   rA   r/   r?   r:   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r^   r   r.   rR   rZ   r5   r6   Ú__static_attributes__Ú__classcell__)rK   s   @r   r   r      sJ   ø† ñð< e€Dð
  Ø )Ø%)Ø,0ØØ'5÷0ò 0õd&õ
õ;÷Ró Rr!   r   )Ú
__future__r   r1   Úpathlibr   Útypingr   r   Úfolderr   Úutilsr   r	   Úvisionr
   r   r   r!   r   Ú<module>rr      s*   ðÝ "ã 	Ý ß  å "ç ?Ý !ôkR�=ö kRr!   