a
    d                     @   s,   d dl Z d dlmZ deeedddZdS )	    N)adaptive_clip_gradnorm       @)valuemode	norm_typec                 C   sh   |dkrt jjj| ||d nF|dkr8t jj| | n,|dkrPt| ||d ndsdJ d| ddS )	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   ZagcFzUnknown clip mode (z).N)torchnnutilsZclip_grad_norm_Zclip_grad_value_r   )
parametersr   r   r    r   ]/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/timm/utils/clip_grad.pydispatch_clip_grad   s    	r   )r   r   )r   Ztimm.utils.agcr   floatstrr   r   r   r   r   <module>   s   