o
    پi                     @   s0   d dl Z d dlmZ d
dededefdd	ZdS )    N)adaptive_clip_gradnorm       @valuemode	norm_typec                 C   sf   |dkrt jjj| ||d dS |dkrt jj| | dS |dkr+t| ||d 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    r   H/home/ubuntu/.local/lib/python3.10/site-packages/timm/utils/clip_grad.pydispatch_clip_grad   s   	r   )r   r   )r	   timm.utils.agcr   floatstrr   r   r   r   r   <module>   s    