728x90
반응형
import torch
import numpy as np
import random
import os
def seed_everything(seed=42):
random.seed(seed)
np.random.seed(seed)
torch.manual_seed(seed)
torch.cuda.manual_seed_all(seed)
torch.backends.cudnn.benchmark = False
torch.use_deterministic_algorithms(True)
os.environ["PYTHONHASHSEED"] = str(seed)
os.environ["TF_ENABLE_ONEDNN_OPTS"] = "0"
파이토치 시드 넘버를 고정해야 재현성 있는 결과가 나옴.
다만, 시드를 고정하면 훈련속도가 떨어진다고 함.
따라서, 재현성이 꼭 필요할 때만 하라고 보통 말함.
이것도 파이토치의 버전과 서버상황 등에 따라 달라질 수 있다.
728x90
반응형
'DeepLearning > 파이토치(pytorch)' 카테고리의 다른 글
[torch] DDP 모드에서 훈련된 모델 불러오기. (0) | 2024.03.07 |
---|---|
[torch] multi-gpu (DDP)로 사용하기 튜토리얼 (0) | 2024.03.06 |
[torch] cross-validation을 위한 기능 만들기 (multi-gpu) (0) | 2024.03.06 |