
    n i                         d dl mZmZmZ d dlZd dlmZmZm	Z	  G d dej
                  Z G d dej                  Z G d d	ej                  Z G d
 dej                  Z G d dej                  ZdS )    )ListOptionalTupleN)common_spec
model_spectransformer_specc                       e Zd ZdZd ZdS )Wav2Vec2Configz%Configuration for the Wav2Vec2 model.c                     d S N selfs    _/var/www/html/auto_sub_bot/venv/lib/python3.11/site-packages/ctranslate2/specs/wav2vec2_spec.py__init__zWav2Vec2Config.__init__   s        N)__name__
__module____qualname____doc__r   r   r   r   r
   r
      s)        //    r   r
   c                   V     e Zd Z fdZed             Zed             Zd Zd Z xZ	S )Wav2Vec2Specc                     t                                                       t          j        d                              |          | _        t          ||||          | _        d S )Nint16)superr   npdtypetype
vocab_sizeWav2Vec2EncoderSpecencoder)r   feat_layers
num_layers	num_headsr   return_hidden	__class__s         r   r   zWav2Vec2Spec.__init__   s[     	(7++00<<*	
 
r   c                     dS )Nr   r   r   s    r   namezWav2Vec2Spec.name!   s    ~r   c                     dS )N   r   r   s    r   revisionzWav2Vec2Spec.revision%   s    qr   c                     t                      S r   )r
   r   s    r   get_default_configzWav2Vec2Spec.get_default_config)   s    r   c                 N    t          | j                                                  S r   )intr   numpyr   s    r   get_vocabulary_sizez Wav2Vec2Spec.get_vocabulary_size,   s    4?((**+++r   )
r   r   r   r   propertyr(   r+   r-   r1   __classcell__)r&   s   @r   r   r      s        
 
 
 
 
"   X   X     , , , , , , ,r   r   c                       e Zd Zd ZdS )Wav2Vec2LayerNormConvLayerc                 f    t          j                    | _        t          j                    | _        d S r   )r   
Conv1DSpecconvLayerNormSpec
layer_normr   s    r   r   z#Wav2Vec2LayerNormConvLayer.__init__1   s&    *,,	%355r   Nr   r   r   r   r   r   r   r5   r5   0   s#        6 6 6 6 6r   r5   c                       e Zd Zd ZdS )Wav2Vec2PosEmbedConvLayerc                 6    t          j                    | _        d S r   )r   r7   r8   r   s    r   r   z"Wav2Vec2PosEmbedConvLayer.__init__7   s    *,,			r   Nr;   r   r   r   r=   r=   6   s#        - - - - -r   r=   c                       e Zd Zd ZdS )r    c                    t          j        d                              |          | _        t	                      | _        d t          |dz
            D             | _        t          j	                    | _
        t          j                    | _        t                      | _        t          j	                    | _        d t          |          D             | _        |st          j                    | _        d S d S )Nr   c                 *    g | ]}t                      S r   )r5   ).0is     r   
<listcomp>z0Wav2Vec2EncoderSpec.__init__.<locals>.<listcomp>?   s    XXXA577XXXr      c                 4    g | ]}t          j                    S r   )r   TransformerEncoderLayerSpec)rB   _s     r   rD   z0Wav2Vec2EncoderSpec.__init__.<locals>.<listcomp>D   s/     
 
 
?@8::
 
 
r   )r   r   r   r$   r5   feat_layer0range
feat_layerr   r9   fp_layer_norm
LinearSpecfp_projectionr=   pos_conv_embedr:   layerlm_head)r   r"   r#   r$   r%   s        r   r   zWav2Vec2EncoderSpec.__init__<   s    '**//	::577XX{UVAWAWXXX(688(355799%355
 
DI*DUDU
 
 

  	4&133DLLL	4 	4r   Nr;   r   r   r   r    r    ;   s#        4 4 4 4 4r   r    )typingr   r   r   r0   r   ctranslate2.specsr   r   r   ModelConfigr
   LanguageModelSpecr   	LayerSpecr5   r=   r    r   r   r   <module>rW      s9   ( ( ( ( ( ( ( ( ( (     G G G G G G G G G G    Z+   , , , , ,:/ , , ,B6 6 6 6 6!5 6 6 6- - - - -
 4 - - -
4 4 4 4 4*. 4 4 4 4 4r   