
    h@n                        d dl Z d dlmZ d dlmZ d dlZd dlmZ ddlmZ	m
Z
 g dZded	ed
ede
deee      f
dZ G d de      Z G d dej"                  j$                        Z G d dej"                  j$                        Z G d dej"                  j$                        Z G d dej"                  j$                        Zy)    N)Enum)Optional)Tensor   )
functionalInterpolationMode)AutoAugmentPolicyAutoAugmentRandAugmentTrivialAugmentWideAugMiximgop_name	magnitudeinterpolationfillc                    |dk(  rKt        j                  | dddgdt        j                  t        j                  |            dg||ddg      } | S |dk(  rKt        j                  | dddgddt        j                  t        j                  |            g||ddg      } | S |dk(  r+t        j                  | dt        |      dgd|ddg|      } | S |d	k(  r+t        j                  | ddt        |      gd|ddg|      } | S |d
k(  rt        j                  | |||      } | S |dk(  rt        j                  | d|z         } | S |dk(  rt        j                  | d|z         } | S |dk(  rt        j                  | d|z         } | S |dk(  rt        j                  | d|z         } | S |dk(  r!t        j                  | t        |            } | S |dk(  rt        j                  | |      } | S |dk(  rt        j                  |       } | S |dk(  rt        j                  |       } | S |dk(  rt        j                  |       } | S |dk(  r	 | S t!        d| d      )NShearX        r         ?)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        `/var/www/html/eduruby.in/venv/lib/python3.12/site-packages/torchvision/transforms/autoaugment.py	_apply_opr>      s    ( hh!f<<		) 45s;'q6	
F Js 
H	 hh!fTYYy%9:;'q6	
l JY 
L	 hh9~q)'*
V JE 
L	 hh#i.)'*
B J1 
H	hhsI]N. J- 
L	 !!#sY7* J) 
G	!!#sY7& J% 
J	S9_5" J! 
K	  cIo6 J 
K	kk#s9~. J 
J	jji( J 
N	"nnS! J 
J	jjo J 
H	hhsm
 J	 
J	 J 1':MNOO    c                       e Zd ZdZdZdZdZy)r	   zoAutoAugment policies learned on different datasets.
    Available policies are IMAGENET, CIFAR10 and SVHN.
    imagenetcifar10svhnN)__name__
__module____qualname____doc__IMAGENETCIFAR10SVHN r?   r=   r	   r	   ]   s     HGDr?   r	   c                   (    e Zd ZdZej
                  ej                  dfdededee	e
      ddf fdZdede	eeee
ee   f   eee
ee   f   f      fdZd	ed
eeef   deeeeef   f   fdZededeeeef   fd       ZdedefdZdefdZ xZS )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.
    Npolicyr   r   returnc                 x    t         |           || _        || _        || _        | j                  |      | _        y N)super__init__rM   r   r   _get_policiespolicies)selfrM   r   r   	__class__s       r=   rR   zAutoAugment.__init__y   s8     	*	**62r?   c                     |t         j                  k(  rg dS |t         j                  k(  rg dS |t         j                  k(  rg dS t	        d| d      )N)))r%   皙?   )r   333333?	   )r&   rZ      r'   rZ   Nr(   皙?Nr(   rZ   N))r%   rZ      )r%   rZ      r(   rX   N)r&   皙?   )rf   r   ra   rY   ))r&   rZ      rb   ))r%   ra   r]   r(   r   N))r   rg   rj   )r&   rZ   rY   )rb   )r%   rX   rd   )ri   r"   rX   r   ))r   rX   r[   rb   ))r(   r   Nr`   r)   rZ   Nrk   )r"   rZ   rh   )r#   r   rY   )ri   )r"   r      ))r"   ra   rY   )r&   ra   rc   ))r$   rX   rc   rn   ))r   rZ   r]   rk   )rl   rb   re   r\   rm   ro   r_   ))r)   皙?N)r#   rg   rd   ))r   ffffff?rp   )r   333333?r[   ))r$   ra   r   )r$   ?rj   ))r         ?rY   r   rs   r[   ))r'   rv   Nr(   ru   N))r   rg   rc   )r%   rt   rc   ))r"   rX   rj   )r!   rZ   rc   ))r$   rt   r[   )r!   rs   r[   )rb   )r(   rv   N))r#   rZ   rc   )r$   rZ   r]   ))r"   rs   rc   )r   rv   rY   ))r(   rt   N)r'   rX   N))r   rX   rj   )r$   rg   rd   ))r!   ru   rd   )r"   rg   rY   ))r&   rv   rp   )r)   r   N)r(   rg   Nr^   )ry   rb   ))r"   ru   r[   rb   )r'   ra   N)r&   rg   rY   ))r!   rr   rj   )r"   rs   r   ))r&   rX   r]   r'   ru   N))r   ru   r[   rw   )r{   )r&   ra   rj   )r`   rq   )rw   r{   ))r   ru   rh   )r)   rg   N)r   ru   rY   r)   rs   N)rb   )r&   rZ   rd   r)   ru   Nrb   rb   )r   ru   rj   )r|   rz   )r}   )r)   rX   N))r   ru   r]   )r&   rg   rd   )r   rz   r   )r|   )r&   rt   rj   ))r   ra   rY   r~   )rx   )r   rZ   rd   r   ))r#   rt   rj   r   ra   rh   )r)   ra   N)r   r   rp   ))r   rs   rd   )r&   rX   rY   )rn   r   ))r   rt   rc   )r   ru   rj   ))r   rr   rd   rn   ))r&   rs   rp   )r   rZ   rc   ))r   ra   rh   r   ))r   rs   r[   )r   ra   rj   ))r   ra   r]   )r'   rs   N))r   rs   rp   rq   zThe provided policy r+   )r	   rH   rI   rJ   r<   )rU   rM   s     r=   rS   zAutoAugment._get_policies   sk     &/// 6 (000 6 (--- 8 3F8;NOPPr?   num_bins
image_sizec                     t        j                  dd|      dft        j                  dd|      dft        j                  dd|d   z  |      dft        j                  dd|d   z  |      dft        j                  dd|      dft        j                  dd|      dft        j                  dd|      dft        j                  dd|      dft        j                  dd|      dfd	t        j                  |      |dz
  d
z  z  j                         j	                         z
  dft        j                  dd|      dft        j
                  d      dft        j
                  d      dft        j
                  d      dfdS )Nr   rt   Tt ?r   r         >@ru   rY   rh   F     o@)r   r   r   r   r   r!   r"   r#   r$   r%   r&   r'   r(   r)   )torchlinspacearangeroundr1   tensorrU   r   r   s      r=   _augmentation_spacezAutoAugment._augmentation_space   s^    ~~c394@~~c394@ >>#}z!}/LhWY]^ >>#}z!}/LhWY]^~~c4:DA >>#sH=tDnnS#x8$?S(;TB..c8<dCu||H5(Q,!9KLSSUYY[[]bcsH=uE"\\#.6c*E2||C(%0
 	
r?   transform_numc                     t        t        j                  | d      j                               }t        j                  d      }t        j                  dd      }|||fS )zGet parameters for autoaugment transformation

        Returns:
            params required by the autoaugment transformation
        r   )rp   rp   )r1   r   randintitemrand)r   	policy_idprobssignss       r=   
get_paramszAutoAugment.get_params   sM     mT:??AB	

4 a&%&&r?   r   c                 n   | j                   }t        j                  |      \  }}}t        |t              r@t        |t
        t        f      rt        |      g|z  }n||D cg c]  }t        |       }}| j                  t        | j                              \  }}}	| j                  d||f      }
t        | j                  |         D ]c  \  }\  }}}||   |k  s|
|   \  }}|t        ||   j                               nd}|r|	|   dk(  r|dz  }t        |||| j                  |      }e |S c c}w )z
            img (PIL Image or Tensor): Image to be transformed.

        Returns:
            PIL Image or Tensor: AutoAugmented image.
        
   r   r         r    )r   r,   get_dimensions
isinstancer   r1   floatr   lenrT   r   	enumerater   r>   r   )rU   r   r   channelsheightwidthftransform_idr   r   op_metair   pmagnitude_id
magnitudessignedr   s                     r=   forwardzAutoAugment.forward   s>    yy"#"2"23"7&%c6"$e-d}x/!*./Qa//%)__S5G%H"eU**2?-6t}}\7R-S 	f)A)LQx1}%,W%5"
FFRF^E*\":"?"?"ABdg	eAh!m%IWitGYGY`de	f 
 0s   "D2c                 h    | j                   j                   d| j                   d| j                   dS )Nz(policy=, fill=))rV   rD   rM   r   )rU   s    r=   __repr__zAutoAugment.__repr__  s/    ..))*(4;;-wtyykQRSSr?   )rD   rE   rF   rG   r	   rH   r   NEARESTr   listr   rR   tuplestrr1   rS   dictr   boolr   staticmethodr   r   r   __classcell__rV   s   @r=   r
   r
   h   s)   $ %6$>$>+<+D+D&*	
3!
3 )
3 tE{#	
3
 

3XQ'XQ	eE#uhsm34eCQT<U6VVW	XXQt
C 
U38_ 
QUVY[`agimam[nVnQo 
& 
'# 
'%VV0C*D 
' 
'6 f 8T# Tr?   r
   c                        e Zd ZdZdddej
                  dfdededed	ed
eee	      ddf fdZ
dedeeef   deeeeef   f   fdZdedefdZdefdZ xZS )r   a~  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.
    rp   r[      Nnum_opsr   num_magnitude_binsr   r   rN   c                 h    t         |           || _        || _        || _        || _        || _        y rP   )rQ   rR   r   r   r   r   r   )rU   r   r   r   r   r   rV   s         r=   rR   zRandAugment.__init__2  s5     	""4*	r?   r   r   c                     t        j                  d      dft        j                  dd|      dft        j                  dd|      dft        j                  dd|d   z  |      dft        j                  dd|d   z  |      dft        j                  dd|      dft        j                  dd	|      dft        j                  dd	|      dft        j                  dd	|      dft        j                  dd	|      dfd
t        j                  |      |dz
  dz  z  j	                         j                         z
  dft        j                  dd|      dft        j                  d      dft        j                  d      dfdS )Nr   Frt   Tr   r   r   r   ru   rY   rh   r   r*   r   r   r   r   r   r!   r"   r#   r$   r%   r&   r'   r(   r   r   r   r   r   r1   r   s      r=   r   zRandAugment._augmentation_spaceA  s^    c*E2~~c394@~~c394@ >>#}z!}/LhWY]^ >>#}z!}/LhWY]^~~c4:DA >>#sH=tDnnS#x8$?S(;TB..c8<dCu||H5(Q,!9KLSSUYY[[]bcsH=uE"\\#.6c*E2
 	
r?   r   c                    | j                   }t        j                  |      \  }}}t        |t              r@t        |t
        t        f      rt        |      g|z  }n||D cg c]  }t        |       }}| j                  | j                  ||f      }t        | j                        D ]  }t        t        j                  t        |      d      j                               }	t        |j!                               |	   }
||
   \  }}|j"                  dkD  r&t        || j$                     j                               nd}|rt        j                  dd      r|dz  }t'        ||
|| j(                  |      } |S c c}w )
            img (PIL Image or Tensor): Image to be transformed.

        Returns:
            PIL Image or Tensor: Transformed image.
        r   r   r   rp   r   r    )r   r,   r   r   r   r1   r   r   r   ranger   r   r   r   r   r   keysndimr   r>   r   )rU   r   r   r   r   r   r   r   _op_indexr   r   r   r   s                 r=   r   zRandAugment.forwardT  sO    yy"#"2"23"7&%c6"$e-d}x/!*./Qa//**4+B+BVUOTt||$ 	bA5==Wt<AACDH7<<>*84G!(!1JDNOOVWDWj8==?@]`I%--40T!	C)4CUCU\`aC	b 
 0s   "E8c                     | j                   j                   d| j                   d| j                   d| j                   d| j
                   d| j                   d}|S )Nz	(num_ops=z, magnitude=z, num_magnitude_bins=, interpolation=r   r   )rV   rD   r   r   r   r   r   rU   ss     r=   r   zRandAugment.__repr__o  sg    ~~&&' (||n4>>*#D$;$;#<t112dii[ 	
 r?   )rD   rE   rF   rG   r   r   r1   r   r   r   rR   r   r   r   r   r   r   r   r   r   r   s   @r=   r   r     s    ( "$+<+D+D&*   	
 ) tE{# 

C 
U38_ 
QUVY[`agimam[nVnQo 
&6 f 6
# 
r?   r   c            	            e Zd ZdZdej
                  dfdededeee	      ddf fdZ
d	edeeeeef   f   fd
ZdedefdZdefdZ xZS )r   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.
    r   Nr   r   r   rN   c                 L    t         |           || _        || _        || _        y rP   )rQ   rR   r   r   r   )rU   r   r   r   rV   s       r=   rR   zTrivialAugmentWide.__init__  s'     	"4*	r?   r   c                    t        j                  d      dft        j                  dd|      dft        j                  dd|      dft        j                  dd|      dft        j                  dd|      dft        j                  dd|      dft        j                  dd|      dft        j                  dd|      dft        j                  dd|      dft        j                  dd|      dfdt        j                  |      |dz
  d	z  z  j	                         j                         z
  dft        j                  d
d|      dft        j                  d      dft        j                  d      dfdS )Nr   FgGz?Tg      @@g     `@rY   r   rd   r   r   r   )rU   r   s     r=   r   z&TrivialAugmentWide._augmentation_space  sJ    c*E2~~c4:DA~~c4:DA >>#tX>E >>#tX>E~~c5(;TB >>#tX>EnnS$94@T8<dC..dH=tDu||H5(Q,!9KLSSUYY[[]bcsH=uE"\\#.6c*E2
 	
r?   r   c                    | j                   }t        j                  |      \  }}}t        |t              r@t        |t
        t        f      rt        |      g|z  }n||D cg c]  }t        |       }}| j                  | j                        }t        t        j                  t        |      d      j                               }t        |j                               |   }	||	   \  }
}|
j                  dkD  rIt        |
t        j                  t        |
      dt        j                            j                               nd}|rt        j                  dd      r|dz  }t#        ||	|| j$                  |      S c c}w )r   r   r   dtyper   rp   r   r    )r   r,   r   r   r   r1   r   r   r   r   r   r   r   r   r   r   longr>   r   )rU   r   r   r   r   r   r   r   r   r   r   r   r   s                r=   r   zTrivialAugmentWide.forward  sC    yy"#"2"23"7&%c6"$e-d}x/!*./Qa//**4+B+BCu}}S\48==?@w||~&x0$W-
F " *U]]3z?D

STYY[\ 	
 emmAt,Igy@R@RY]^^ 0s   "E<c                     | j                   j                   d| j                   d| j                   d| j                   d}|S )Nz(num_magnitude_bins=r   r   r   )rV   rD   r   r   r   r   s     r=   r   zTrivialAugmentWide.__repr__  sP    ~~&&' (""&"9"9!:t112dii[	 	
 r?   )rD   rE   rF   rG   r   r   r1   r   r   r   rR   r   r   r   r   r   r   r   r   r   r   s   @r=   r   r   |  s    " #%+<+D+D&*			 )	 tE{#		
 
	
C 
DeFDL>Q9Q4R 
&_6 _f _:# r?   r   c                   N    e Zd ZdZdddddej
                  dfdeded	ed
ededede	e
e      ddf fdZdedeeef   deeeeef   f   fdZej$                  j&                  defd       Zej$                  j&                  defd       ZdedefdZdedefdZdefdZ xZS )r   a  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.
    rj   r   TNseveritymixture_widthchain_depthalphaall_opsr   r   rN   c                     t         |           d| _        d|cxk  r| j                  k  sn t        d| j                   d| d      || _        || _        || _        || _        || _        || _	        || _
        y )Nr   r   z!The severity must be between [1, z]. Got z	 instead.)rQ   rR   _PARAMETER_MAXr<   r   r   r   r   r   r   r   )	rU   r   r   r   r   r   r   r   rV   s	           r=   rR   zAugMix.__init__  s     	 X4!4!44@ATAT@UU\]e\ffopqq *&
*	r?   r   r   c                    t        j                  dd|      dft        j                  dd|      dft        j                  d|d   dz  |      dft        j                  d|d   dz  |      dft        j                  dd|      dfdt        j                  |      |dz
  dz  z  j                         j	                         z
  d	ft        j                  d
d|      d	ft        j
                  d      d	ft        j
                  d      d	fd	}| j                  rr|j                  t        j                  dd|      dft        j                  dd|      dft        j                  dd|      dft        j                  dd|      dfd       |S )Nr   rt   Tr   g      @r   r   rh   Fr   )	r   r   r   r   r   r%   r&   r'   r(   ru   )r!   r"   r#   r$   )r   r   r   r   r1   r   r   update)rU   r   r   r   s       r=   r   zAugMix._augmentation_space  si    ~~c394@~~c394@ >>#z!}s/BHMtT >>#z!}s/BHMtT~~c4:DAu||H5(Q,!9KLSSUYY[[]bcsH=uE"\\#.6c*E2
 <<HH#(>>#sH#Et"L#nnS#x@$G!&S(!CT J"'..c8"Dd!K	 r?   c                 ,    t        j                  |      S rP   )r,   pil_to_tensorrU   r   s     r=   _pil_to_tensorzAugMix._pil_to_tensor  s    s##r?   r   c                 ,    t        j                  |      S rP   )r,   to_pil_imager   s     r=   _tensor_to_pilzAugMix._tensor_to_pil  s    ~~c""r?   paramsc                 ,    t        j                  |      S rP   )r   _sample_dirichlet)rU   r   s     r=   r   zAugMix._sample_dirichlet  s    &&v..r?   orig_imgc           
         | j                   }t        j                  |      \  }}}t        |t              rC|}t        |t
        t        f      rt        |      g|z  }n,|*|D cg c]  }t        |       }}n| j                  |      }| j                  | j                  ||f      }t        |j                        }	|j                  dgt        d|j                  z
  d      z  |	z         }
|
j                  d      gdg|
j                  dz
  z  z   }| j!                  t#        j$                  | j&                  | j&                  g|
j(                        j+                  |d   d            }| j!                  t#        j$                  | j&                  g| j,                  z  |
j(                        j+                  |d   d            |dddf   j                  |d   dg      z  }|dddf   j                  |      |
z  }t/        | j,                        D ]u  }|
}| j0                  dkD  r| j0                  n.t        t#        j2                  ddd      j5                               }t/        |      D ]  }t        t#        j2                  t7        |      d      j5                               }t        |j9                               |   }||   \  }}|j                  dkD  rJt        |t#        j2                  | j:                  dt"        j<                  	         j5                               nd
}|rt#        j2                  dd      r|dz  }t?        |||| j@                  |      } |jC                  |dd|f   j                  |      |z         x |j                  |	      jE                  |jF                  	      }t        |t              s| jI                  |      S |S c c}w )r   Nr   rh   r   )devicer   r   )lowhighsizer   r   rp   r   r    )%r   r,   r   r   r   r1   r   r   r   r   r   shapeviewmaxr   r   r   r   r   r   r   expandr   r   r   r   r   r   r   r   r   r>   r   add_tor   r   )rU   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   zAugMix.forward!  s]    yy"#"2"28"<&%h'C$e-d}x/!*./Qa//%%h/C**4+>+>PO	!s1sxx<33i?@jjm_sejj1n'==
 ""LL$**djj1%,,GNNzZ[}^`a

  11LL$**(:(::5<<PWWXbcdXegij
adGLL*Q-,-. 1gll:&.t))* 	DAC(,(8(81(<D$$#emmXY`ahlFmFrFrFtBuE5\ fu}}S\4@EEGHw||~.x8%,W%5"
F "* *U]]4==$ejj%YZ__ab 
 emmAt4%IWitGYGY`def HH%ad+00<sBC	D  hhy!$$399$5(F+&&s++
U 0s   $Oc                     | j                   j                   d| j                   d| j                   d| j                   d| j
                   d| j                   d| j                   d| j                   d}|S )	Nz
(severity=z, mixture_width=z, chain_depth=z, alpha=z
, all_ops=r   r   r   )	rV   rD   r   r   r   r   r   r   r   r   s     r=   r   zAugMix.__repr__[  s    ~~&&' (t112T--.tzzlt112dii[ 	
 r?   )rD   rE   rF   rG   r   BILINEARr1   r   r   r   r   rR   r   r   r   r   r   r   jitunusedr   r   r   r   r   r   r   s   @r=   r   r     s9   , +<+E+E&*  	
   ) tE{# 
,C U38_ QUVY[`agimam[nVnQo 0 YY$V $ $ YY#& # #/ /6 /8 86 8t# r?   r   )r.   enumr   typingr   r   r    r   r,   r   __all__r   r   r   r>   r	   nnModuler
   r   r   r   rK   r?   r=   <module>r
     s         0
]M	MM*/M@QMYabfglbmYnM` tT%((// tTnZ%((// ZzS SlUUXX__ Ur?   