본문 바로가기
인공지능 (기본 딥러닝)/딥러닝 스크래치 코드

[Pytorch 스크래치 코드] 실험 재현을 위한 Seed 고정

by 애플파ol 2023. 12. 9.

✓ ablation study를 진행하다보면 다른 seed값이 모두 동일하게 고정적으로 설정이 되있어야 한다.

✓ 이를 방지하기 위해 우리는 seed 값 고정을 하여 수행한다. 

 

❏  실험 재현을 위한 seed 값 고정 코드

# 실험 재현을 위한 seed 고정


def seed_everything(seed: int):
    import random, os
    import numpy as np
    import torch
    import tensorflow as tf
    
    
    random.seed(seed)
    os.environ['PYTHONHASHSEED'] = str(seed)
    np.random.seed(seed)
    torch.manual_seed(seed)
    torch.cuda.manual_seed(seed)
    torch.backends.cudnn.deterministic = True
    torch.backends.cudnn.benchmark = True
    tf.random.set_seed(42)
    
seed_everything(42)