o
    i                     @   sF   d Z ddlZddlmZ ddlZddlmZ dejjdefddZ	dS )	z.Parameter initialization for Transducer model.    N)	Namespace)set_forget_bias_to_onemodelargsc                    s(  |   D ]]\ }t fdddD ra| dkr|j  q| dkr9|d}dt| }|jd| q| dv ra|d}| dd	 D ]}||9 }dt| }|jd| qLq|j	d
kr| j
jjjdd t| j
jD ]}tt| j
j| d tt| j
j| d qwd	S d	S )zInitialize Transducer model.

    Args:
        model: Transducer model.
        args: Namespace containing model options.

    c                 3   s    | ]}| v V  qd S )N ).0xnamer   f/home/ubuntu/.local/lib/python3.10/site-packages/espnet/nets/pytorch_backend/transducer/initializer.py	<genexpr>   s    zinitializer.<locals>.<genexpr>)zenc.zdec.ztransducer_tasks.      g      ?r   )      Ncustom
bias_ih_l0
bias_hh_l0)named_parametersanydimdatazero_sizemathsqrtnormal_dtypedecembedweightrangedlayersr   getattrdecoder)r   r   pnstdvkir   r	   r   initializer   s,   


r*   )
__doc__r   argparser   torch*espnet.nets.pytorch_backend.initializationr   nnModuler*   r   r   r   r   <module>   s    