본문 바로가기
Development

딥러닝 학습 시 랜덤시드 고정하는 방법.(torch 1.6.0 버전)

by wellba 2021. 6. 4.

아래 코드를 학습실행 전에 적용되도록 코드를 삽입하면 된다.

 

################ 랜덤시드 고정 ##########################
random_seed = 1000

torch.manual_seed(random_seed)
torch.cuda.manual_seed(random_seed)
torch.cuda.manual_seed_all(random_seed)  # if use multi-GPU
torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False
np.random.seed(random_seed)
random.seed(random_seed)
# Types to allow for both CPU and GPU models.
UFloatTensor = Union[FloatTensor, cuda.FloatTensor]
ULongTensor = Union[LongTensor, cuda.LongTensor]

##########################################################

출처: https://hoya012.github.io/blog/reproducible_pytorch/

 

Reproducible PyTorch를 위한 randomness 올바르게 제어하기!

PyTorch 코드의 완벽한 재현을 위해 고려해야할 randomness를 제어하는 법을 설명드리겠습니다.

hoya012.github.io