o
    ¶Öiö  ã                   @   s–   d dl Z d dlmZ G dd„ de jƒZG dd„ de jƒZG dd„ de jƒZG d	d
„ d
ejƒZG dd„ dejƒZ	G dd„ dejƒZ
G dd„ dejƒZdS )é    N)Ú
model_specc                   @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )	Ú
ActivationúActivation type.r   é   é   é   é   é   N)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚRELUÚGELUTanhÚSWISHÚGELUÚGELUSigmoidÚTanh© r   r   úZ/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/ctranslate2/specs/common_spec.pyr      s    r   c                   @   s   e Zd ZdZdZdZdS )ÚEmbeddingsMergez&Merge strategy for factors embeddings.r   r   N)r
   r   r   r   ÚCONCATÚADDr   r   r   r   r      s    r   c                   @   s   e Zd ZdZdZdZdZdS )ÚQuantizationr   r   r   r   N)r
   r   r   r   ÚCT2ÚAWQ_GEMMÚAWQ_GEMVr   r   r   r   r      s
    r   c                   @   s   e Zd Zddd„ZdS )ÚLayerNormSpecFc                 C   s    d | _ |s
d | _d S tj| _d S ©N)ÚgammaÚbetar   ÚOPTIONALÚlayer_norm_use_residual)ÚselfÚrms_normr   r   r   Ú__init__#   s   
zLayerNormSpec.__init__N)F©r
   r   r   r%   r   r   r   r   r   "   s    r   c                   @   s   e Zd Zdd„ Zdd„ ZdS )Ú
LinearSpecc                 C   s"   d | _ tj| _tj| _tj| _d S r   )Úweightr   r!   Úweight_scaleÚweight_zeroÚbias©r#   r   r   r   r%   ,   s   zLinearSpec.__init__c                 C   s   t | jtƒ S r   )Ú
isinstancer+   Ústrr,   r   r   r   Úhas_bias2   s   zLinearSpec.has_biasN)r
   r   r   r%   r/   r   r   r   r   r'   +   s    r'   c                   @   ó   e Zd Zdd„ ZdS )Ú
Conv1DSpecc                 C   ó   d | _ tj| _tj| _d S r   )r(   r   r!   r)   r+   r,   r   r   r   r%   7   ó   zConv1DSpec.__init__Nr&   r   r   r   r   r1   6   ó    r1   c                   @   r0   )ÚEmbeddingsSpecc                 C   r2   r   )r(   r   r!   r)   Úmultiply_by_sqrt_depthr,   r   r   r   r%   >   r3   zEmbeddingsSpec.__init__Nr&   r   r   r   r   r5   =   r4   r5   )ÚenumÚctranslate2.specsr   ÚIntEnumr   r   r   Ú	LayerSpecr   r'   r1   r5   r   r   r   r   Ú<module>   s    	