o
    i
                     @   sr   d dl Z d dlZd dlmZ dd Zdejdejdejdejfd	d
Zdd Zdd Zdd Z	dd Z
dd ZdS )    N)sequence_maskc                 K   sv   | d| _t|d dd| _tt| | _tt| | _tt	| | _	tt
| | _
tt| | _tt| | _| S )Ndevicemax_seq_lenF)flip)getr   r   make_pad_masktypes
MethodTypeexport_forwardforwardexport_dummy_inputsexport_input_namesexport_output_namesexport_dynamic_axesexport_name)modelkwargs r   Y/home/ubuntu/.local/lib/python3.10/site-packages/funasr/models/sense_voice/export_meta.pyexport_rebuild_model   s   r   speechspeech_lengthslanguagetextnormc                 K   s   |  ||jd}|  ||jd}tj||fdd}|  tddgg|j|ddd}tj||fdd}	tj|	|fdd}|d }
| 	||
\}}t
|tr_|d }| j|}||fS )N   )dim   r      )embedtor   	unsqueezetorchcat
LongTensorrepeatsizeencoder
isinstancetuplectcctc_lo)selfr   r   r   r   r   language_querytextnorm_queryevent_emo_queryinput_queryspeech_lengths_newencoder_outencoder_out_lens
ctc_logitsr   r   r   r
      s   

r
   c                 C   sV   t ddd}t jddgt jd}t jddgt jd}t jddgt jd}||||fS )Nr      i0     )dtyper      )r!   randntensorint32)r+   r   r   r   r   r   r   r   r   5   s
   r   c                 C   s   g dS )N)r   r   r   r   r   r+   r   r   r   r   <      r   c                 C   s   ddgS )Nr3   r2   r   r;   r   r   r   r   ?   r<   r   c                 C   s.   dddddiddiddidddddidS )N
batch_sizefeats_length)r   r   r   logits_length)r   r   r   r   r3   r2   r   r;   r   r   r   r   B   s   r   c                 C   s   dS )Nz
model.onnxr   r;   r   r   r   r   L   s   r   )r   r!   funasr.utils.torch_functionr   r   Tensorr
   r   r   r   r   r   r   r   r   r   <module>   s$   

