
    C1i                     >   S SK r S SKJr   " S S\ R                  5      r " S S\ R                  5      r " S S\ R                  5      r " S	 S
\R                  5      r " S S\R                  5      r	 " S S\R                  5      r
 " S S\R                  5      rg)    N)
model_specc                   4    \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rg)
Activation   Activation type.r                      N)__name__
__module____qualname____firstlineno____doc__RELUGELUTanhSWISHGELUGELUSigmoidTanhSigmoid__static_attributes__r       W/home/james-whalen/.local/lib/python3.13/site-packages/ctranslate2/specs/common_spec.pyr   r      s(    DHEDKDGr   r   c                        \ rS rSrSrSrSrSrg)EmbeddingsMerge   z&Merge strategy for factors embeddings.r   r   r   N)r   r   r   r   r   CONCATADDr   r   r   r   r   r      s    0F
Cr   r   c                   $    \ rS rSrSrSrSrSrSrg)Quantization   r   r   r   r	   r   N)	r   r   r   r   r   CT2AWQ_GEMMAWQ_GEMVr   r   r   r   r$   r$      s    
CHHr   r$   c                       \ rS rSrSS jrSrg)LayerNormSpec#   c                 Z    S U l         U(       d  S U l        g [        R                  U l        g N)gammabetar   OPTIONALlayer_norm_use_residual)selfrms_norms     r   __init__LayerNormSpec.__init__$   s!    
DI+5+>+>D(r   )r/   r.   r1   N)Fr   r   r   r   r4   r   r   r   r   r*   r*   #   s    ?r   r*   c                        \ rS rSrS rS rSrg)
LinearSpec,   c                     S U l         [        R                  U l        [        R                  U l        [        R                  U l        g r-   )weightr   r0   weight_scaleweight_zerobiasr2   s    r   r4   LinearSpec.__init__-   s2    &//%..''	r   c                 @    [        U R                  [        5      (       + $ r-   )
isinstancer>   strr?   s    r   has_biasLinearSpec.has_bias3   s    dii---r   )r>   r;   r<   r=   N)r   r   r   r   r4   rD   r   r   r   r   r8   r8   ,   s    (.r   r8   c                       \ rS rSrS rSrg)
Conv1DSpec7   c                 f    S U l         [        R                  U l        [        R                  U l        g r-   )r;   r   r0   r<   r>   r?   s    r   r4   Conv1DSpec.__init__8   s$    &//''	r   )r>   r;   r<   Nr6   r   r   r   rG   rG   7   s    (r   rG   c                       \ rS rSrS rSrg)EmbeddingsSpec>   c                 f    S U l         [        R                  U l        [        R                  U l        g r-   )r;   r   r0   r<   multiply_by_sqrt_depthr?   s    r   r4   EmbeddingsSpec.__init__?   s%    &//&0&9&9#r   )rO   r;   r<   Nr6   r   r   r   rL   rL   >   s    :r   rL   )enumctranslate2.specsr   IntEnumr   r   r$   	LayerSpecr*   r8   rG   rL   r   r   r   <module>rU      s     (	 	dll 4<< ?J(( ?.%% .(%% (:Z)) :r   