o
    ¡¿¯i  ã                   @   s4   d dl Z d dlZd dlZd dlZdd„ Zdd„ ZdS )é    Nc                 C   sl   t  | j¡ dt jj_dt jj_| jdk rdtj	_
t d¡ | jdk r4dt jj_dt jj_t d¡ dS dS )zˆEnsures pytorch produces deterministic results depending on the program arguments

    :param Namespace args: The program arguments
    TFé   ztorch type check is disabledé   z%torch cudnn deterministic is disabledN)ÚtorchÚmanual_seedÚseedÚbackendsÚcudnnÚdeterministicÚ	benchmarkÚ	debugmodeÚchainerÚconfigÚ
type_checkÚloggingÚinfo©Úargs© r   úT/home/ubuntu/.local/lib/python3.10/site-packages/espnet/utils/deterministic_utils.pyÚset_deterministic_pytorch   s   
ÿ




ýr   c                 C   sl   t | jƒtjd< t dtjd  ¡ | jdk r dtj_	t d¡ | jdk r0dtj_
t d¡ d	S dtj_
d	S )
zˆEnsures chainer produces deterministic results depending on the program arguments

    :param Namespace args: The program arguments
    ÚCHAINER_SEEDzchainer seed = r   Fzchainer type check is disabledr   z'chainer cudnn deterministic is disabledTN)Ústrr   ÚosÚenvironr   r   r   r   r   r   Úcudnn_deterministicr   r   r   r   Úset_deterministic_chainer"   s   


r   )r   r   r   r   r   r   r   r   r   r   Ú<module>   s    