본문 바로가기

Python/PyTorch

(3)
[PyTorch] LayerNorm 레이어 정규화는 색칠되어 있는 값을 가지고 평균과 분산을 계산해 정규화를 수행하는 방법이다.  N, C, H, W shape을 가진 4차원 입력에 대해 위의 그림과 동일하게 LayerNorm을 적용하는 방식은 다음과 같다.import torchimport torch.nn as nnN, C, H, W = 10, 3, 32, 32normalized_shape = [C, H, W]x = torch.randn(N, C, H, W)layer_norm = nn.LayerNorm(normalized_shape=normalized_shape)x_norm = layer_norm(x) LayerNorm은 D차원의 normalized_shape을 입력으로 받아 입력의 마지막 D차원에 대해 평균과 분산을 계산해 정규화를 수행..
파이토치 재현성 import os import random import numpy as np import torch CFG = { 'IMG_SIZE':224, 'EPOCHS':5, 'LEARNING_RATE':3e-4, 'BATCH_SIZE':32, 'SEED':41 } def seed_everything(seed): 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 seed_everything..
파이토치 GPU 설치 Windows 윈도우 환경에서 GPU 가속을 사용하려면 CUDA(Compute Unified Device Architecture)가 필요하다. CUDA란 NVIDIA에서 제공하는 소프트웨어로 GPGPU(General-Purpose computing on Graphics Processing Units) 기술을 지원하는 프로그램이다. CUDA를 지원하는 그래픽 카드의 사양은 다음 경로에서 확인할 수 있다. GPU Compute Capability: https://developer.nvidia.com/cuda-gpus#compute CUDA 환경을 구성할 수 있틑 시스템이라면 현재 사용하고 있는 GPU의 드라이버를 최신 버전으로 업데이트한다. NVIDIA 그래픽 카드 드라이버는 다음 경로에서 업데이트할 수 있다. NVIDI..