
    Ng                     0    d dl Z d dlmZ d	dededefdZdS )
    N)adaptive_clip_gradnorm       @valuemode	norm_typec                 
   |dk    r)t           j        j                            | ||           dS |dk    r't           j        j                            | |           dS |dk    rt          | ||           dS J d| d            )	a   Dispatch to gradient clipping method

    Args:
        parameters (Iterable): model parameters to clip
        value (float): clipping value/factor/norm, mode dependant
        mode (str): clipping mode, one of 'norm', 'value', 'agc'
        norm_type (float): p-norm, default 2.0
    r   )r   r   agcFzUnknown clip mode (z).N)torchnnutilsclip_grad_norm_clip_grad_value_r   )
parametersr   r   r   s       P/var/www/html/ai-engine/env/lib/python3.11/site-packages/timm/utils/clip_grad.pydispatch_clip_gradr      s     v~~&&z5I&NNNNN	''
E:::::	:u	BBBBBB44D444444    )r   r   )r   timm.utils.agcr   floatstrr    r   r   <module>r      sY     - - - - - -5 5% 5s 5PU 5 5 5 5 5 5r   