+
     °³jÉm  ã                   ól  € ^ RI t ^ RIHt ^ RIHt ^ RIt^ RIHt ^RIHt	H
t
 . ROtR R lt ! R R]4      t ! R R]P                  P                  4      t ! R R]P                  P                  4      t ! R R	]P                  P                  4      t ! R R
]P                  P                  4      tR# )é    N)ÚEnum)ÚOptional©ÚTensor)Ú
functionalÚInterpolationModeÚAutoAugmentPolicyÚAutoAugmentÚRandAugmentÚTrivialAugmentWideÚAugMixc                ó€   € V ^8„  d   QhR\         R\        R\        R\        R\        \
        \        ,          ,          /# )é   ÚimgÚop_nameÚ	magnitudeÚinterpolationÚfill)r   ÚstrÚfloatr   r   Úlist)Úformats   "Úc/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchvision/transforms/autoaugment.pyÚ__annotate__r      sG   € ÷ Mñ MÜ	ðMÜðMÜ*/ðMÜ@QðMÜYaÔbfÔglÕbmÕYnñMó    c                 ó  € VR 8X  dO   \         P                  ! V R^ ^ .R\        P                  ! \        P                  ! V4      4      R.VV^ ^ .R7      p V # VR8X  dO   \         P                  ! V R^ ^ .RR\        P                  ! \        P                  ! V4      4      .VV^ ^ .R7      p V # VR8X  d-   \         P                  ! V R\        V4      ^ .RVRR.VR7      p V # VR8X  d-   \         P                  ! V R^ \        V4      .RVRR.VR7      p V # VR8X  d   \         P                  ! WW4R	7      p V # VR
8X  d!   \         P                  ! V RV,           4      p V # VR8X  d!   \         P                  ! V RV,           4      p V # VR8X  d!   \         P                  ! V RV,           4      p V # VR8X  d!   \         P                  ! V RV,           4      p V # VR8X  d#   \         P                  ! V \        V4      4      p V # VR8X  d   \         P                  ! W4      p V # VR8X  d   \         P                  ! V 4      p V # VR8X  d   \         P                  ! V 4      p V # VR8X  d   \         P                  ! V 4      p V # VR8X  d    V # \!        RV R24      h)ÚShearXç        ç      ð?)ÚangleÚ	translateÚscaleÚshearr   r   ÚcenterÚShearYÚ
TranslateX)r    r!   r"   r   r#   r   Ú
TranslateYÚRotate©r   r   Ú
BrightnessÚColorÚContrastÚ	SharpnessÚ	PosterizeÚSolarizeÚAutoContrastÚEqualizeÚInvertÚIdentityzThe provided operator ú is not recognized.)ÚFÚaffineÚmathÚdegreesÚatanÚintÚrotateÚadjust_brightnessÚadjust_saturationÚadjust_contrastÚadjust_sharpnessÚ	posterizeÚsolarizeÚautocontrastÚequalizeÚinvertÚ
ValueError)r   r   r   r   r   s   &&&&&r   Ú	_apply_oprF      sÃ  € ð �(Ôô �hŠhØØØ˜!�fØÜ—<’<¤§	¢	¨)Ó 4Ó5°sÐ;Ø'ØØ�q�6ô	
ˆðF €Jðs 
�HÔ	ô �hŠhØØØ˜!�fØØœŸš¤T§Y¢Y¨yÓ%9Ó:Ð;Ø'ØØ�q�6ô	
ˆðl €JðY 
�LÔ	 Ü�hŠhØØÜ˜9“~ qÐ)ØØ'Ø˜�*Øô
ˆðV €JðE 
�LÔ	 Ü�hŠhØØØœ#˜i›.Ð)ØØ'Ø˜�*Øô
ˆðB €Jð1 
�HÔ	Ü�hŠh�s°]ÔNˆð. €Jð- 
�LÔ	 Ü×!Ò! # s¨Y¥Ó7ˆð* €Jð) 
�GÔ	Ü×!Ò! # s¨Y¥Ó7ˆð& €Jð% 
�JÔ	Ü×Ò  S¨9¥_Ó5ˆð" €Jð! 
�KÔ	Ü× Ò   c¨I¥oÓ6ˆð €Jð 
�KÔ	Ü�kŠk˜#œs 9›~Ó.ˆð €Jð 
�JÔ	Ü�jŠj˜Ó(ˆð €Jð 
�NÔ	"Ü�nŠn˜SÓ!ˆð €Jð 
�JÔ	Ü�jŠj˜‹oˆð €Jð 
�HÔ	Ü�hŠh�s‹mˆð
 €Jð	 
�JÔ	Øð €Jô Ð1°'°Ð:MÐNÓOÐOr   c                   ó&   € ] tR t^]tRtRtRtRtRtR# )r	   zgAutoAugment policies learned on different datasets.
Available policies are IMAGENET, CIFAR10 and SVHN.
ÚimagenetÚcifar10Úsvhn© N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚIMAGENETÚCIFAR10ÚSVHNÚ__static_attributes__rK   r   r   r	   r	   ]   s   † ñð €HØ€GØ„Dr   c                   óØ   a a€ ] tR t^gt oRt]P                  ]P                  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tV3R lR ltRtVtV ;t# )r
   a  AutoAugment data augmentation method based on
`"AutoAugment: Learning Augmentation Strategies from Data" <https://arxiv.org/pdf/1805.09501.pdf>`_.
If the image is torch Tensor, it should be of type torch.uint8, and it is expected
to have [..., 1 or 3, H, W] shape, where ... means an arbitrary number of leading dimensions.
If img is PIL Image, it is expected to be in mode "L" or "RGB".

Args:
    policy (AutoAugmentPolicy): Desired policy enum defined by
        :class:`torchvision.transforms.autoaugment.AutoAugmentPolicy`. Default is ``AutoAugmentPolicy.IMAGENET``.
    interpolation (InterpolationMode): Desired interpolation enum defined by
        :class:`torchvision.transforms.InterpolationMode`. Default is ``InterpolationMode.NEAREST``.
        If input is Tensor, only ``InterpolationMode.NEAREST``, ``InterpolationMode.BILINEAR`` are supported.
    fill (sequence or number, optional): Pixel fill value for the area outside the transformed
        image. If given a number, the value is used for all bands respectively.
Nc                óP   <€ V ^8„  d   QhRS[ RS[RS[S[S[,          ,          RR/# )r   Úpolicyr   r   ÚreturnN)r	   r   r   r   r   )r   Ú__classdict__s   "€r   r   ÚAutoAugment.__annotate__x   s<   ø€ ÷ 
3ñ 
3á!ð
3ñ )ð
3ñ ‘t™E•{Õ#ð	
3ð
 
ñ
3r   c                ót   <€ \         SV `  4        Wn        W n        W0n        V P                  V4      V n        R # ©N)ÚsuperÚ__init__rW   r   r   Ú_get_policiesÚpolicies)ÚselfrW   r   r   Ú	__class__s   &&&&€r   r^   ÚAutoAugment.__init__x   s2   ø€ ô 	‰ÑÔØŒØ*ÔØŒ	Ø×*Ñ*¨6Ó2ˆŽr   c                ó    <€ V ^8„  d   QhRS[ RS[S[S[S[S[S[S[,          3,          S[S[S[S[S[,          3,          3,          ,          /# )r   rW   rX   )r	   r   Útupler   r   r   r:   )r   rY   s   "€r   r   rZ   „   sU   ø€ ÷ XQñ XQÙ'ðXQá	‰e‘E™#™u¡h©s¥mÐ3Õ4±e¹CÁÉÑQTÍÐ<UÕ6VÐVÕWÕ	XñXQr   c                ó¶   € V\         P                  8X  d   . RO# V\         P                  8X  d   . RO# V\         P                  8X  d   . RO# \	        RV R24      h)r.   zThe provided policy r4   )))r.   çš™™™™™Ù?é   )r(   ç333333ã?é	   ©)r/   ri   é   ©r0   ri   N©©r1   çš™™™™™é?N©r1   ri   N))r.   ri   é   )r.   ri   é   ©©r1   rg   N)r/   çš™™™™™É?é   )ru   ©r(   rp   rh   ))r/   ri   é   rq   ))r.   rp   rl   ©r1   r   N))r(   rv   ry   )r/   ri   rh   )rq   )r.   rg   rs   )rx   ©r+   rg   r   ))r(   rg   rj   rq   ))r1   r   Nro   ©©r2   ri   Nrz   ©)r+   ri   rw   )r,   r   rh   )rx   )r+   r   r   ))r+   rp   rh   )r/   rp   rr   ))r-   rg   rr   r}   ))r   ri   rl   rz   )r{   rq   rt   rk   r|   r~   rn   ))©r2   çš™™™™™¹?N)r,   rv   rs   ))r(   çffffffæ?r   )r&   ç333333Ó?rj   ))r-   rp   é   )r-   çÍÌÌÌÌÌì?ry   ))r%   ç      à?rh   ©r'   r�   rj   ))r0   r…   N©r1   r„   N))r%   rv   rr   )r.   r‚   rr   ))r+   rg   ry   )r*   ri   rr   ))r-   r‚   rj   )r*   r�   rj   )rq   )r1   r…   N))r,   ri   rr   )r-   ri   rl   ))r+   r�   rr   )r&   r…   rh   ))r1   r‚   N)r0   rg   N))r'   rg   ry   )r-   rv   rs   ))r*   r„   rs   )r+   rv   rh   ))r/   r…   r   )r2   r   N)©r1   rv   Nrm   )rˆ   rq   ))r+   r„   rj   rq   )©r0   rp   N)r/   rv   rh   ))r*   r€   ry   )r+   r�   r   ))r/   rg   rl   ©r0   r„   N))r'   r„   rj   r†   )rŠ   )r/   rp   ry   )ro   r   )r†   rŠ   ))©r   r„   rw   )r2   rv   N)©r%   r„   rh   ©r2   r�   N)rq   )r/   ri   rs   ©©r2   r„   Nrq   ©rq   )r(   r„   ry   )r‹   r‰   )rŒ   )r2   rg   N))r%   r„   rl   )r/   rv   rs   )r�   r‰   r�   )r‹   )r/   r‚   ry   ))r%   rp   rh   r�   )r‡   )r'   ri   rs   rŽ   ))r,   r‚   ry   ©r(   rp   rw   )©r2   rp   N)r'   r   r   ))r%   r�   rs   )r/   rg   rh   )r}   r‘   ))r%   r‚   rr   )r&   r„   ry   ))r   r€   rs   r}   ))r/   r�   r   )r'   ri   rr   ))r%   rp   rw   r’   ))r   r�   rj   )r'   rp   ry   ))r%   rp   rl   )r0   r�   N))r   r�   r   r   )r	   rQ   rR   rS   rE   )ra   rW   s   &&r   r_   ÚAutoAugment._get_policies„   sk   € ð Ô&×/Ñ/Ô/òð ð6 Ô(×0Ñ0Ô0òð ð6 Ô(×-Ñ-Ô-òð ô8 Ð3°F°8Ð;NÐOÓPÐPr   c          
      ón   <€ V ^8„  d   QhRS[ RS[S[ S[ 3,          RS[S[S[S[S[3,          3,          /# ©r   Únum_binsÚ
image_sizerX   ©r:   re   Údictr   r   Úbool)r   rY   s   "€r   r   rZ   Þ   óC   ø€ ÷ 
ñ 
©Cð 
¹UÁ3ÉÀ8½_ð 
ÑQUÑVYÑ[`ÑagÑimÐamÕ[nÐVnÕQoñ 
r   c                óv  € R \         P                  ! RRV4      R3R\         P                  ! RRV4      R3R\         P                  ! RRV^,          ,          V4      R3R\         P                  ! RRV^ ,          ,          V4      R3R\         P                  ! RRV4      R3R	\         P                  ! RR
V4      R3R\         P                  ! RR
V4      R3R\         P                  ! RR
V4      R3R\         P                  ! RR
V4      R3R^\         P                  ! V4      V^,
          ^,          ,          P                  4       P	                  4       ,
          R3R\         P                  ! RRV4      R3R\         P
                  ! R4      R3R\         P
                  ! R4      R3R\         P
                  ! R4      R3/# )r   r   r‚   Tr%   r&   r'   r(   ç      >@r*   r„   r+   r,   r-   r.   Fr/   ç     ào@r0   r1   r2   çtþÅ Ý?)ÚtorchÚlinspaceÚarangeÚroundr:   Útensor©ra   r–   r—   s   &&&r   Ú_augmentation_spaceÚAutoAugment._augmentation_spaceÞ   sz  € ð ”u—~’~ c¨3°Ó9¸4Ð@Ø”u—~’~ c¨3°Ó9¸4Ð@Øœ5Ÿ>š>¨#¨}¸zÈ!½}Õ/LÈhÓWÐY]Ð^Øœ5Ÿ>š>¨#¨}¸zÈ!½}Õ/LÈhÓWÐY]Ð^Ø”u—~’~ c¨4°Ó:¸DÐAØœ5Ÿ>š>¨#¨s°HÓ=¸tÐDØ”e—n’n S¨#¨xÓ8¸$Ð?ØœŸš¨¨S°(Ó;¸TÐBØœ%Ÿ.š.¨¨c°8Ó<¸dÐCØ˜!œuŸ|š|¨HÓ5¸(ÀQ½,È!Õ9KÕL×SÑSÓU×YÑYÓ[Õ[Ð]bÐcØœŸš¨¨s°HÓ=¸uÐEØœUŸ\š\¨#Ó.°Ð6ØœŸš cÓ*¨EÐ2Ø”u—|’| CÓ(¨%Ð0ð
ð 	
r   c                ó@   <€ V ^8„  d   QhRS[ RS[S[ S[S[3,          /# )r   Útransform_numrX   )r:   re   r   )r   rY   s   "€r   r   rZ   ò   s'   ø€ ÷ 
'ñ 
'¡#ð 
'©%±±V¹VÐ0CÕ*Dñ 
'r   c                óÀ   € \        \        P                  ! V R4      P                  4       4      p\        P                  ! R4      p\        P                  ! ^R4      pWV3# )znGet parameters for autoaugment transformation

Returns:
    params required by the autoaugment transformation
©rƒ   )r   )r:   r    ÚrandintÚitemÚrand)r©   Ú	policy_idÚprobsÚsignss   &   r   Ú
get_paramsÚAutoAugment.get_paramsñ   sK   € ô œŸš m°TÓ:×?Ñ?ÓAÓBˆ	Ü—
’
˜4Ó ˆÜ—’˜a Ó&ˆà Ð&Ð&r   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# ©r   r   rX   r   )r   rY   s   "€r   r   rZ   þ   s   ø€ ÷ ñ ™6ð ¡fñ r   c           	     óÔ  € V P                   p\        P                  ! V4      w  r4p\        V\        4      '       dO   \        V\
        \        34      '       d   \        V4      .V,          pMVe   V Uu. uF  p\        V4      NK  	  ppV P                  \        V P                  4      4      w  rxp	V P                  ^
WE34      p
\        V P                  V,          4       F  w  pw  rÍpW‹,          V8:  g   K  W¬,          w  ppVe    \        Wþ,          P                  4       4      MRpV'       d   W›,          ^ 8X  d
   VR,          p\        WVV P                  VR7      pK�  	  V# u upi )zq
    img (PIL Image or Tensor): Image to be transformed.

Returns:
    PIL Image or Tensor: AutoAugmented image.
r   r)   ç      ð¿)r   r5   Úget_dimensionsÚ
isinstancer   r:   r   r²   Úlenr`   r¦   Ú	enumerater­   rF   r   )ra   r   r   ÚchannelsÚheightÚwidthÚfÚtransform_idr°   r±   Úop_metaÚir   ÚpÚmagnitude_idÚ
magnitudesÚsignedr   s   &&                r   ÚforwardÚAutoAugment.forwardþ   s-  € ð �y‰yˆÜ"#×"2Ò"2°3Ó"7Ñˆ˜%Ü�cœ6×"Ò"Ü˜$¤¤e ×-Ò-Ü˜d›�} xÕ/‘ØÒ!Ù*.Ó/©$ Qœ˜až©$�Ð/à%)§_¡_´S¸¿¹Ó5GÓ%HÑ"ˆ˜Uà×*Ñ*¨2°¨Ó?ˆÜ-6°t·}±}À\Õ7RÖ-SÑ)ˆAÑ)�˜LØ�x˜1Ž}Ø%,Õ%5Ñ"�
˜FØFRÒF^œE *Õ":×"?Ñ"?Ó"AÔBÐdg�	ß˜e�h¨!œmØ Õ%�IÜ ¨iÀt×GYÑGYÐ`dÔe’ñ .Tð ˆ
ùò 0s   Á4E%c                ó    <€ V ^8„  d   QhRS[ /# ©r   rX   ©r   )r   rY   s   "€r   r   rZ     s   ø€ ÷ Tñ T™#ñ Tr   c                óh   € V P                   P                   R V P                   RV P                   R2# )z(policy=ú, fill=Ú))rb   rL   rW   r   )ra   s   &r   Ú__repr__ÚAutoAugment.__repr__  s/   € Ø—.‘.×)Ñ)Ð*¨(°4·;±;°-¸wÀtÇyÁyÀkÐQRÐSÐSr   )r   r   r`   rW   )rL   rM   rN   rO   rP   r	   rQ   r   ÚNEARESTr^   r_   r¦   Ústaticmethodr²   rÇ   rÏ   rT   Ú__classdictcell__Ú__classcell__©rb   rY   s   @@r   r
   r
   g   st   ù‡ € ñð$ %6×$>Ñ$>Ø+<×+DÑ+DØ&*÷	
3õ 
3÷XQð XQ÷t
ð 
ð& ÷
'ó ð
'÷ð ÷8T÷ Tð Tr   c                   óš   a a€ ] tR tRt oRt^^	^]P                  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t
RtVtV ;t# )r   i  aB  RandAugment data augmentation method based on
`"RandAugment: Practical automated data augmentation with a reduced search space"
<https://arxiv.org/abs/1909.13719>`_.
If the image is torch Tensor, it should be of type torch.uint8, and it is expected
to have [..., 1 or 3, H, W] shape, where ... means an arbitrary number of leading dimensions.
If img is PIL Image, it is expected to be in mode "L" or "RGB".

Args:
    num_ops (int): Number of augmentation transformations to apply sequentially.
    magnitude (int): Magnitude for all the transformations.
    num_magnitude_bins (int): The number of different magnitude values.
    interpolation (InterpolationMode): Desired interpolation enum defined by
        :class:`torchvision.transforms.InterpolationMode`. Default is ``InterpolationMode.NEAREST``.
        If input is Tensor, only ``InterpolationMode.NEAREST``, ``InterpolationMode.BILINEAR`` are supported.
    fill (sequence or number, optional): Pixel fill value for the area outside the transformed
        image. If given a number, the value is used for all bands respectively.
Nc                ó\   <€ V ^8„  d   QhRS[ RS[ RS[ RS[RS[S[S[,          ,          RR/# )r   Únum_opsr   Únum_magnitude_binsr   r   rX   N©r:   r   r   r   r   )r   rY   s   "€r   r   ÚRandAugment.__annotate__1  sP   ø€ ÷ ñ áðñ ðñ  ð	ñ
 )ðñ ‘t™E•{Õ#ðð 
ñr   c                ó`   <€ \         SV `  4        Wn        W n        W0n        W@n        WPn        R # r\   )r]   r^   rØ   r   rÙ   r   r   )ra   rØ   r   rÙ   r   r   rb   s   &&&&&&€r   r^   ÚRandAugment.__init__1  s+   ø€ ô 	‰ÑÔØŒØ"ŒØ"4ÔØ*ÔØŽ	r   c          
      ón   <€ V ^8„  d   QhRS[ RS[S[ S[ 3,          RS[S[S[S[S[3,          3,          /# r•   r˜   )r   rY   s   "€r   r   rÛ   @  r›   r   c                óv  € R \         P                  ! R4      R3R\         P                  ! RRV4      R3R\         P                  ! RRV4      R3R\         P                  ! RRV^,          ,          V4      R3R\         P                  ! RRV^ ,          ,          V4      R3R	\         P                  ! RR
V4      R3R\         P                  ! RRV4      R3R\         P                  ! RRV4      R3R\         P                  ! RRV4      R3R\         P                  ! RRV4      R3R^\         P                  ! V4      V^,
          ^,          ,          P	                  4       P                  4       ,
          R3R\         P                  ! RRV4      R3R\         P                  ! R4      R3R\         P                  ! R4      R3/# )r3   r   Fr   r‚   Tr%   r&   r'   r(   r�   r*   r„   r+   r,   r-   r.   r/   rž   r0   r1   rŸ   ©r    r¤   r¡   r¢   r£   r:   r¥   s   &&&r   r¦   ÚRandAugment._augmentation_space@  sz  € ð œŸš cÓ*¨EÐ2Ø”u—~’~ c¨3°Ó9¸4Ð@Ø”u—~’~ c¨3°Ó9¸4Ð@Øœ5Ÿ>š>¨#¨}¸zÈ!½}Õ/LÈhÓWÐY]Ð^Øœ5Ÿ>š>¨#¨}¸zÈ!½}Õ/LÈhÓWÐY]Ð^Ø”u—~’~ c¨4°Ó:¸DÐAØœ5Ÿ>š>¨#¨s°HÓ=¸tÐDØ”e—n’n S¨#¨xÓ8¸$Ð?ØœŸš¨¨S°(Ó;¸TÐBØœ%Ÿ.š.¨¨c°8Ó<¸dÐCØ˜!œuŸ|š|¨HÓ5¸(ÀQ½,È!Õ9KÕL×SÑSÓU×YÑYÓ[Õ[Ð]bÐcØœŸš¨¨s°HÓ=¸uÐEØœUŸ\š\¨#Ó.°Ð6ØœŸš cÓ*¨EÐ2ð
ð 	
r   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# rµ   r   )r   rY   s   "€r   r   rÛ   S  s   ø€ ÷ ñ ™6ð ¡fñ r   c           	     óZ  € V P                   p\        P                  ! V4      w  r4p\        V\        4      '       dO   \        V\
        \        34      '       d   \        V4      .V,          pMVe   V Uu. uF  p\        V4      NK  	  ppV P                  V P                  WE34      p\        V P                  4       Fæ  p\        \        P                  ! \        V4      R4      P                  4       4      p	\        VP!                  4       4      V	,          p
Wz,          w  r¼VP"                  ^ 8”  d*   \        W°P$                  ,          P                  4       4      MRpV'       d'   \        P                  ! ^R4      '       d
   VR,          p\'        WWÐP(                  VR7      pKè  	  V# u upi )úo
    img (PIL Image or Tensor): Image to be transformed.

Returns:
    PIL Image or Tensor: Transformed image.
r   r)   r«   r·   )r   r5   r¸   r¹   r   r:   r   r¦   rÙ   ÚrangerØ   r    r¬   rº   r­   r   ÚkeysÚndimr   rF   r   )ra   r   r   r¼   r½   r¾   r¿   rÁ   Ú_Úop_indexr   rÅ   rÆ   r   s   &&            r   rÇ   ÚRandAugment.forwardS  sD  € ð �y‰yˆÜ"#×"2Ò"2°3Ó"7Ñˆ˜%Ü�cœ6×"Ò"Ü˜$¤¤e ×-Ò-Ü˜d›�} xÕ/‘ØÒ!Ù*.Ó/©$ Qœ˜až©$�Ð/à×*Ñ*¨4×+BÑ+BÀVÀOÓTˆÜ�t—|‘|Ö$ˆAÜœ5Ÿ=š=¬¨W«°tÓ<×AÑAÓCÓDˆHÜ˜7Ÿ<™<›>Ó*¨8Õ4ˆGØ!(Õ!1ÑˆJØDNÇOÁOÐVWÔDWœ˜j¯©Õ8×=Ñ=Ó?Ô@Ð]`ˆIßœ%Ÿ-š-¨¨4×0Ò0Ø˜TÕ!�	Ü˜C¨)×CUÑCUÐ\`ÔaŠCñ %ð ˆ
ùò 0s   Á4F(c                ó    <€ V ^8„  d   QhRS[ /# rÊ   rË   )r   rY   s   "€r   r   rÛ   n  s   ø€ ÷ 
ñ 
™#ñ 
r   c                óº   € V P                   P                   R V P                   RV P                   RV P                   RV P
                   RV P                   R2pV# )z	(num_ops=z, magnitude=z, num_magnitude_bins=ú, interpolation=rÍ   rÎ   )rb   rL   rØ   r   rÙ   r   r   ©ra   Úss   & r   rÏ   ÚRandAugment.__repr__n  sg   € à�~‰~×&Ñ&Ð'ð (Ø—|‘|�nØ˜4Ÿ>™>Ð*Ø# D×$;Ñ$;Ð#<Ø˜t×1Ñ1Ð2Ø�d—i‘i�[Øðð 	
ð ˆr   )r   r   r   rÙ   rØ   ©rL   rM   rN   rO   rP   r   rÑ   r^   r¦   rÇ   rÏ   rT   rÓ   rÔ   rÕ   s   @@r   r   r     sN   ù‡ € ñð( ØØ"$Ø+<×+DÑ+DØ&*÷õ ÷
ð 
÷&ð ÷6
÷ 
ð 
r   c                   ó–   a a€ ] tR tRt oRt^]P                  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t
RtVtV ;t# )r   i{  aË  Dataset-independent data-augmentation with TrivialAugment Wide, as described in
`"TrivialAugment: Tuning-free Yet State-of-the-Art Data Augmentation" <https://arxiv.org/abs/2103.10158>`_.
If the image is torch Tensor, it should be of type torch.uint8, and it is expected
to have [..., 1 or 3, H, W] shape, where ... means an arbitrary number of leading dimensions.
If img is PIL Image, it is expected to be in mode "L" or "RGB".

Args:
    num_magnitude_bins (int): The number of different magnitude values.
    interpolation (InterpolationMode): Desired interpolation enum defined by
        :class:`torchvision.transforms.InterpolationMode`. Default is ``InterpolationMode.NEAREST``.
        If input is Tensor, only ``InterpolationMode.NEAREST``, ``InterpolationMode.BILINEAR`` are supported.
    fill (sequence or number, optional): Pixel fill value for the area outside the transformed
        image. If given a number, the value is used for all bands respectively.
Nc                óP   <€ V ^8„  d   QhRS[ RS[RS[S[S[,          ,          RR/# )r   rÙ   r   r   rX   NrÚ   )r   rY   s   "€r   r   ÚTrivialAugmentWide.__annotate__‹  s<   ø€ ÷ 	ñ 	áð	ñ )ð	ñ ‘t™E•{Õ#ð		ð
 
ñ	r   c                óH   <€ \         SV `  4        Wn        W n        W0n        R # r\   )r]   r^   rÙ   r   r   )ra   rÙ   r   r   rb   s   &&&&€r   r^   ÚTrivialAugmentWide.__init__‹  s!   ø€ ô 	‰ÑÔØ"4ÔØ*ÔØŽ	r   c                óR   <€ V ^8„  d   QhRS[ RS[S[S[S[S[3,          3,          /# )r   r–   rX   )r:   r™   r   re   r   rš   )r   rY   s   "€r   r   rô   –  s.   ø€ ÷ 
ñ 
©Cð 
±D¹¹eÁFÉDÀLÕ>QÐ9QÕ4Rñ 
r   c                ó>  € R \         P                  ! R4      R3R\         P                  ! RRV4      R3R\         P                  ! RRV4      R3R\         P                  ! RRV4      R3R	\         P                  ! RRV4      R3R
\         P                  ! RRV4      R3R\         P                  ! RRV4      R3R\         P                  ! RRV4      R3R\         P                  ! RRV4      R3R\         P                  ! RRV4      R3R^\         P                  ! V4      V^,
          ^,          ,          P	                  4       P                  4       ,
          R3R\         P                  ! RRV4      R3R\         P                  ! R4      R3R\         P                  ! R4      R3/# )r3   r   Fr   g®Gáz®ï?Tr%   r&   g      @@r'   r(   g     à`@r*   r+   r,   r-   r.   r/   rž   r0   r1   rà   )ra   r–   s   &&r   r¦   Ú&TrivialAugmentWide._augmentation_space–  sf  € ð œŸš cÓ*¨EÐ2Ø”u—~’~ c¨4°Ó:¸DÐAØ”u—~’~ c¨4°Ó:¸DÐAØœ5Ÿ>š>¨#¨t°XÓ>ÀÐEØœ5Ÿ>š>¨#¨t°XÓ>ÀÐEØ”u—~’~ c¨5°(Ó;¸TÐBØœ5Ÿ>š>¨#¨t°XÓ>ÀÐEØ”e—n’n S¨$°Ó9¸4Ð@ØœŸš¨¨T°8Ó<¸dÐCØœ%Ÿ.š.¨¨d°HÓ=¸tÐDØ˜!œuŸ|š|¨HÓ5¸(ÀQ½,È!Õ9KÕL×SÑSÓU×YÑYÓ[Õ[Ð]bÐcØœŸš¨¨s°HÓ=¸uÐEØœUŸ\š\¨#Ó.°Ð6ØœŸš cÓ*¨EÐ2ð
ð 	
r   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# rµ   r   )r   rY   s   "€r   r   rô   ©  s   ø€ ÷ _ñ _™6ð _¡fñ _r   c           	     ód  € V P                   p\        P                  ! V4      w  r4p\        V\        4      '       dO   \        V\
        \        34      '       d   \        V4      .V,          pMVe   V Uu. uF  p\        V4      NK  	  ppV P                  V P                  4      p\        \        P                  ! \        V4      R4      P                  4       4      p\        VP                  4       4      V,          p	Wy,          w  r«V
P                  ^ 8”  dO   \        V
\        P                  ! \        V
4      R\        P                   R7      ,          P                  4       4      MRpV'       d'   \        P                  ! ^R4      '       d
   VR,          p\#        WWÀP$                  VR7      # u upi )rä   ©Údtyper   r)   r«   r·   )r   r5   r¸   r¹   r   r:   r   r¦   rÙ   r    r¬   rº   r­   r   ræ   rç   ÚlongrF   r   )ra   r   r   r¼   r½   r¾   r¿   rÁ   ré   r   rÅ   rÆ   r   s   &&           r   rÇ   ÚTrivialAugmentWide.forward©  sC  € ð �y‰yˆÜ"#×"2Ò"2°3Ó"7Ñˆ˜%Ü�cœ6×"Ò"Ü˜$¤¤e ×-Ò-Ü˜d›�} xÕ/‘ØÒ!Ù*.Ó/©$ Qœ˜až©$�Ð/à×*Ñ*¨4×+BÑ+BÓCˆÜ”u—}’}¤S¨£\°4Ó8×=Ñ=Ó?Ó@ˆÜ�w—|‘|“~Ó& xÕ0ˆØ$Õ-Ñˆ
ð �‰ Ô"ô �*œUŸ]š]¬3¨z«?¸DÌÏ
É
ÔSÕT×YÑYÓ[Ô\àð 	÷
 ”e—m’m A t×,Ò,Ø˜ÕˆIä˜ y×@RÑ@RÐY]Ô^Ð^ùò 0s   Á4F-c                ó    <€ V ^8„  d   QhRS[ /# rÊ   rË   )r   rY   s   "€r   r   rô   Æ  s   ø€ ÷ ñ ™#ñ r   c                ó†   € V P                   P                   R V P                   RV P                   RV P                   R2pV# )z(num_magnitude_bins=rí   rÍ   rÎ   )rb   rL   rÙ   r   r   rî   s   & r   rÏ   ÚTrivialAugmentWide.__repr__Æ  sP   € à�~‰~×&Ñ&Ð'ð ("Ø"&×"9Ñ"9Ð!:Ø˜t×1Ñ1Ð2Ø�d—i‘i�[Øð	ð 	
ð ˆr   )r   r   rÙ   rñ   rÕ   s   @@r   r   r   {  sJ   ù‡ € ñð" #%Ø+<×+DÑ+DØ&*÷		õ 	÷
ð 
÷&_ð _÷:÷ ð r   c                   ó8  a a€ ] tR tRt oRt^^RRR]P                  R3V3R lV 3R llltV3R lR	 lt]	P                  P                  V3R
 lR l4       t]	P                  P                  V3R lR l4       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# )r   iÑ  ax  AugMix data augmentation method based on
`"AugMix: A Simple Data Processing Method to Improve Robustness and Uncertainty" <https://arxiv.org/abs/1912.02781>`_.
If the image is torch Tensor, it should be of type torch.uint8, and it is expected
to have [..., 1 or 3, H, W] shape, where ... means an arbitrary number of leading dimensions.
If img is PIL Image, it is expected to be in mode "L" or "RGB".

Args:
    severity (int): The severity of base augmentation operators. Default is ``3``.
    mixture_width (int): The number of augmentation chains. Default is ``3``.
    chain_depth (int): The depth of augmentation chains. A negative value denotes stochastic depth sampled from the interval [1, 3].
        Default is ``-1``.
    alpha (float): The hyperparameter for the probability distributions. Default is ``1.0``.
    all_ops (bool): Use all operations (including brightness, contrast, color and sharpness). Default is ``True``.
    interpolation (InterpolationMode): Desired interpolation enum defined by
        :class:`torchvision.transforms.InterpolationMode`. Default is ``InterpolationMode.NEAREST``.
        If input is Tensor, only ``InterpolationMode.NEAREST``, ``InterpolationMode.BILINEAR`` are supported.
    fill (sequence or number, optional): Pixel fill value for the area outside the transformed
        image. If given a number, the value is used for all bands respectively.
r   TNc                óh   <€ V ^8„  d   QhRS[ RS[ RS[ RS[RS[RS[RS[S[S[,          ,          RR	/# )
r   ÚseverityÚmixture_widthÚchain_depthÚalphaÚall_opsr   r   rX   N)r:   r   rš   r   r   r   )r   rY   s   "€r   r   ÚAugMix.__annotate__æ  sd   ø€ ÷ ñ áðñ ðñ ð	ñ
 ðñ ðñ )ðñ ‘t™E•{Õ#ðð 
ñr   c                óô   <€ \         SV `  4        ^
V n        ^Tu;8:  d   V P                  8:  g   M \        RV P                   RV R24      hWn        W n        W0n        W@n        WPn        W`n	        Wpn
        R# )é
   z!The severity must be between [1, z]. Got z	 instead.N)r]   r^   Ú_PARAMETER_MAXrE   r  r  r  r  r	  r   r   )	ra   r  r  r  r  r	  r   r   rb   s	   &&&&&&&&€r   r^   ÚAugMix.__init__æ  sw   ø€ ô 	‰ÑÔØ ˆÔØ�XÖ4 ×!4Ñ!4Ö4ÜÐ@À×ATÑATÐ@UÐU\Ð]eÐ\fÐfoÐpÓqÐqØ ŒØ*ÔØ&ÔØŒ
ØŒØ*ÔØŽ	r   c          
      ón   <€ V ^8„  d   QhRS[ RS[S[ S[ 3,          RS[S[S[S[S[3,          3,          /# r•   r˜   )r   rY   s   "€r   r   r
  ü  sC   ø€ ÷ ñ ©Cð ¹UÁ3ÉÀ8½_ð ÑQUÑVYÑ[`ÑagÑimÐamÕ[nÐVnÕQoñ r   c                ó�  € R \         P                  ! RRV4      R3R\         P                  ! RRV4      R3R\         P                  ! RV^,          R,          V4      R3R\         P                  ! RV^ ,          R,          V4      R3R\         P                  ! RR	V4      R3R
^\         P                  ! V4      V^,
          ^,          ,          P                  4       P	                  4       ,
          R3R\         P                  ! RRV4      R3R\         P
                  ! R4      R3R\         P
                  ! R4      R3/	pV P                  '       dz   VP                  R\         P                  ! RRV4      R3R\         P                  ! RRV4      R3R\         P                  ! RRV4      R3R\         P                  ! RRV4      R3/4       V# )r   r   r‚   Tr%   r&   g      @r'   r(   r�   r.   Fr/   rž   r0   r1   r*   r„   r+   r,   r-   )r    r¡   r¢   r£   r:   r¤   r	  Úupdate)ra   r–   r—   rï   s   &&& r   r¦   ÚAugMix._augmentation_spaceü  s…  € ð ”u—~’~ c¨3°Ó9¸4Ð@Ø”u—~’~ c¨3°Ó9¸4Ð@Øœ5Ÿ>š>¨#¨z¸!­}¸sÕ/BÀHÓMÈtÐTØœ5Ÿ>š>¨#¨z¸!­}¸sÕ/BÀHÓMÈtÐTØ”u—~’~ c¨4°Ó:¸DÐAØ˜!œuŸ|š|¨HÓ5¸(ÀQ½,È!Õ9KÕL×SÑSÓU×YÑYÓ[Õ[Ð]bÐcØœŸš¨¨s°HÓ=¸uÐEØœUŸ\š\¨#Ó.°Ð6ØœŸš cÓ*¨EÐ2ð
ˆð �<�<ˆ<Ø�H‰Hà ¤5§>¢>°#°s¸HÓ#EÀtÐ"LØœeŸnšn¨S°#°xÓ@À$ÐGØ¤§¢°°S¸(Ó!CÀTÐ JØ¤%§.¢.°°c¸8Ó"DÀdÐ!Kð	ôð ˆr   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r   )r   rY   s   "€r   r   r
    s   ø€ ÷ $ñ $¡Vñ $r   c                ó.   € \         P                  ! V4      # r\   )r5   Úpil_to_tensor©ra   r   s   &&r   Ú_pil_to_tensorÚAugMix._pil_to_tensor  s   € ä�Š˜sÓ#Ð#r   c                ó    <€ V ^8„  d   QhRS[ /# )r   r   r   )r   rY   s   "€r   r   r
    s   ø€ ÷ #ñ #¡&ñ #r   c                ó.   € \         P                  ! V4      # r\   )r5   Úto_pil_imager  s   &&r   Ú_tensor_to_pilÚAugMix._tensor_to_pil  s   € ä�~Š~˜cÓ"Ð"r   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r   ÚparamsrX   r   )r   rY   s   "€r   r   r
    s   ø€ ÷ /ñ /©ð /±6ñ /r   c                ó.   € \         P                  ! V4      # r\   )r    Ú_sample_dirichlet)ra   r  s   &&r   r!  ÚAugMix._sample_dirichlet  s   € ä×&Ò& vÓ.Ð.r   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r   Úorig_imgrX   r   )r   rY   s   "€r   r   r
     s   ø€ ÷ 8ñ 8¡ð 8©6ñ 8r   c                ó¶  € V P                   p\        P                  ! V4      w  r4p\        V\        4      '       dR   Tp\        V\
        \        34      '       d   \        V4      .V,          pM0Ve   V Uu. uF  p\        V4      NK  	  ppMV P                  V4      pV P                  V P                  WE34      p\        VP                  4      p	VP                  ^.\        ^VP                  ,
          ^ 4      ,          V	,           4      p
V
P                  ^ 4      .^.V
P                  ^,
          ,          ,           pV P!                  \"        P$                  ! V P&                  V P&                  .V
P(                  R7      P+                  V^ ,          R4      4      pV P!                  \"        P$                  ! V P&                  .V P,                  ,          V
P(                  R7      P+                  V^ ,          R4      4      VR,          P                  V^ ,          R.4      ,          pVR	,          P                  V4      V
,          p\/        V P,                  4       EF¤  pT
pV P0                  ^ 8”  d   V P0                  M/\        \"        P2                  ! ^^R
R7      P5                  4       4      p\/        V4       EF  p\        \"        P2                  ! \7        V4      R
4      P5                  4       4      p\        VP9                  4       4      V,          pVV,          w  ppVP                  ^ 8”  dP   \        V\"        P2                  ! V P:                  R
\"        P<                  R7      ,          P5                  4       4      MRpV'       d'   \"        P2                  ! ^R
4      '       d
   VR,          p\?        VVVV P@                  VR7      pEK  	  VPC                  VRV3,          P                  V4      V,          4       EK§  	  VP                  V	4      PE                  VPF                  R7      p\        V\        4      '       g   V PI                  V4      # V# u upi )rä   )ÚdeviceºNNN)ÚlowÚhighÚsizerü   r   r)   éÿÿÿÿ)r'  rƒ   )r'  r   r«   r·   )%r   r5   r¸   r¹   r   r:   r   r  r¦   r  r   ÚshapeÚviewÚmaxrç   r*  r!  r    r¤   r  r&  Úexpandr  rå   r  r¬   r­   rº   ræ   r  rþ   rF   r   Úadd_Útorý   r  )ra   r$  r   r¼   r½   r¾   r   r¿   rÁ   Ú	orig_dimsÚbatchÚ
batch_dimsÚmÚcombined_weightsÚmixrÂ   ÚaugÚdepthrè   ré   r   rÅ   rÆ   r   s   &&                      r   rÇ   ÚAugMix.forward   sQ  € ð �y‰yˆÜ"#×"2Ò"2°8Ó"<Ñˆ˜%Ü�h¤×'Ò'ØˆCÜ˜$¤¤e ×-Ò-Ü˜d›�} xÕ/‘ØÒ!Ù*.Ó/©$ Qœ˜až©$�Ð/øà×%Ñ% hÓ/ˆCà×*Ñ*¨4×+>Ñ+>ÀÀÓPˆä˜Ÿ™“Oˆ	Ø—‘˜!˜œs 1 s§x¡x¥<°Ó3Õ3°iÕ?Ó@ˆØ—j‘j “m�_¨ s¨e¯j©j¸1­nÕ'=Õ=ˆ
ð ×"Ñ"Ü�LŠL˜$Ÿ*™* d§j¡jÐ1¸%¿,¹,ÔG×NÑNÈzÐZ[Í}Ð^`Óaó
ˆð
  ×1Ñ1Ü�LŠL˜$Ÿ*™*˜¨×(:Ñ(:Õ:À5Ç<Á<ÔP×WÑWÐXbÐcdÕXeÐgiÓjó
àˆd�G�L‰L˜* Q�-¨Ð,Ó-õ.Ðð ��g�l‰l˜:Ó&¨Õ.ˆÜ�t×)Ñ)×*ˆAØˆCØ(,×(8Ñ(8¸1Ô(<�D×$Ò$Ä#ÄeÇmÂmÐXYÐ`aÐhlÔFm×FrÑFrÓFtÓBuˆEÜ˜5—\�ÜœuŸ}š}¬S°«\¸4Ó@×EÑEÓGÓH�Ü˜wŸ|™|›~Ó.¨xÕ8�Ø%,¨WÕ%5Ñ"�
˜Fð "—‘¨Ô*ô ˜*¤U§]¢]°4·=±=À$ÌeÏjÉjÔ%YÕZ×_Ñ_ÓaÔbàð ÷
 œeŸmšm¨A¨t×4Ò4Ø Õ%�IÜ  W¨iÀt×GYÑGYÐ`dÔe“ñ "ð �H‰HÐ% a¨ dÕ+×0Ñ0°Ó<¸sÕB×Cñ +ð  �h‰h�yÓ!×$Ñ$¨3¯9©9Ð$Ó5ˆä˜(¤F×+Ò+Ø×&Ñ& sÓ+Ð+Øˆ
ùòU 0s   Á6Qc                ó    <€ V ^8„  d   QhRS[ /# rÊ   rË   )r   rY   s   "€r   r   r
  Z  s   ø€ ÷ ñ ™#ñ r   c                óî   € V P                   P                   R V P                   RV P                   RV P                   RV P
                   RV P                   RV P                   RV P                   R2pV# )z
(severity=z, mixture_width=z, chain_depth=z, alpha=z
, all_ops=rí   rÍ   rÎ   )	rb   rL   r  r  r  r  r	  r   r   rî   s   & r   rÏ   ÚAugMix.__repr__Z  s   € à�~‰~×&Ñ&Ð'ð (ØŸ™�Ø˜t×1Ñ1Ð2Ø˜T×-Ñ-Ð.Ø�t—z‘z�lØ˜Ÿ™˜Ø˜t×1Ñ1Ð2Ø�d—i‘i�[Øðð 	
ð ˆr   )r  r	  r  r  r   r   r  r  r+  )rL   rM   rN   rO   rP   r   ÚBILINEARr^   r¦   r    ÚjitÚunusedr  r  r!  rÇ   rÏ   rT   rÓ   rÔ   rÕ   s   @@r   r   r   Ñ  s›   ù‡ € ñð, ØØØØØ+<×+EÑ+EØ&*÷õ ÷,ð ð0 ‡Y�Y×Ñ÷$ó ð$ð ‡Y�Y×Ñ÷#ó ð#÷/ð /÷8ð 8÷t÷ ð r   )r	   r
   r   r   r   )r7   Úenumr   Útypingr   r    r   Ú r   r5   r   Ú__all__rF   r	   ÚnnÚModuler
   r   r   r   rK   r   r   Ú<module>rG     sŒ   ðÛ Ý Ý ã Ý ç 0â
]€õMô`˜ô ôtT�%—(‘(—/‘/ô tTônZ�%—(‘(—/‘/ô ZôzS˜Ÿ™Ÿ™ô SôlUˆU�X‰X�_‰_ö Ur   