o
    *j                     @   s,   d dl Z d dlmZ d	ddZd
ddZdS )    Nkaiming{Gz?c                    s    fdd}|S )Nc                    s  | j j}t| drl|ddks|ddkrldkr&tj| jjd  n-dkr5tjj	| jj d nd	krEtjj
| jjd
dd ndkrStjj| jj d t| drh| jd urjtj| jjd d S d S d S |ddkrtj| jjd  tj| jjd d S d S )NweightZConvZLinearnormalg        Zxavier)gainr   r   Zfan_in)amodeZ
orthogonalbiasZBatchNorm2dg      ?)	__class____name__hasattrfindnninitZnormal_r   dataZxavier_normal_Zkaiming_normal_Zorthogonal_r
   Z	constant_)m	classnamer   	init_type r/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/modelscope/models/cv/skin_retouching/weights_init.py	init_func   s$   zweights_init.<locals>.init_funcr   )r   r   r   r   r   r   weights_init   s   r   Tc                 C   s   |rt j| S | S )N)r   utilsspectral_norm)moduler	   r   r   r   r       s   r   )r   r   )T)ZtorchZtorch.nnr   r   r   r   r   r   r   <module>   s   
