Pytorch
-
PyTorch를 활용한 신경망 모델 정의Pytorch 2025. 3. 10. 11:20
PyTorch에서 신경망을 정의하는 방법을 정리한다.모델을 생성할 때는 nn.Module을 상속받아 필요한 레이어를 정의하고, forward() 메서드에서 연산을 수행하도록 구성한다.1. 신경망 모델 정의 (nn.Module 사용)import torchimport torch.nn as nnclass NeuralNetwork(nn.Module): def __init__(self): super().__init__() self.fc1 = nn.Linear(7, 32) # 입력 차원 7 → 은닉층 32 self.fc2 = nn.Linear(32, 1) # 은닉층 32 → 출력층 1 self.relu = nn.ReLU() self.sigmoi..
-
PyTorch 모델 학습 및 평가 코드 이해하기Pytorch 2025. 3. 10. 11:17
PyTorch를 사용하여 모델을 학습하고 평가하는 과정에서 중요한 개념과 코드를 정리한다.특히, train()과 evaluate() 함수에서의 주요 동작을 하나씩 분석하며, 학습과 평가의 차이를 명확히 이해한다.1. 학습 코드 (train 함수)import torchimport torch.nn as nncriterion = nn.BCELoss()optimizer = nn.Adam(model.parameters(), lr=0.01)def train(model, train_loader, optimizer, criterion, device): model.train() # 모델을 학습 모드로 설정 running_loss = 0.0 for data, label in train_loader: ..
-
PyTorch의 view()와 reshape() 비교Pytorch 2025. 3. 6. 12:52
PyTorch에서 텐서의 크기를 변경하는 두 가지 주요 방법은 view()와 reshape()이다. 두 함수 모두 기존 텐서의 크기를 변경할 수 있지만, 내부적으로 동작 방식에 차이가 있다. 본 글에서는 두 함수의 차이점과 언제 각각을 사용해야 하는지 설명한다.1. view() 함수view()는 기존 텐서의 메모리 공유를 유지하면서 크기를 변경한다. 즉, 원본 텐서와 새로운 텐서는 같은 메모리를 가리키므로, 하나를 변경하면 다른 하나에도 영향을 미친다. 하지만 view()를 사용하려면 텐서가 연속적인(Contiguous) 메모리 레이아웃을 가져야 한다.예제 코드:import torchtensor = torch.arange(6).reshape(2, 3)view_tensor = tensor.view(3, 2..