[python] 파이썬 PyTorch에서 신경망 모델을 생성하는 방법은?
PyTorch는 딥러닝을 위한 오픈 소스 라이브러리로써, 신경망 모델을 생성하고 학습시키는데 사용됩니다. 이를 위해 PyTorch에서는 torch.nn
모듈을 제공하며, 이를 사용하여 다양한 신경망 모델을 생성할 수 있습니다.
import torch
import torch.nn as nn
# 신경망 모델 정의
class NeuralNetwork(nn.Module):
def __init__(self):
super(NeuralNetwork, self).__init__()
self.layer1 = nn.Linear(10, 64) # 입력 크기 10, 출력 크기 64인 선형 레이어
self.layer2 = nn.ReLU() # ReLU 활성화 함수
def forward(self, x):
x = self.layer1(x)
x = self.layer2(x)
return x
# 모델 인스턴스 생성
model = NeuralNetwork()
# 학습 및 추론에 사용할 데이터 입력
input_data = torch.randn(1, 10) # 입력 데이터 크기는 (1, 10)으로 가정
# 모델에 데이터 전달하여 결과 얻기
output_data = model(input_data)
위의 예제 코드에서 NeuralNetwork
클래스는 nn.Module
을 상속하며, __init__
메서드에서 모델의 구조를 초기화합니다. 이 예제에서는 입력 크기가 10이고 출력 크기가 64인 선형 레이어(nn.Linear
)와 ReLU 활성화 함수(nn.ReLU
)를 가지는 신경망 모델을 정의했습니다.
forward
메서드는 모델의 순전파(forward propagation)를 정의합니다. 이 메서드에서는 입력 데이터를 모델의 레이어를 통과시키고 결과를 반환합니다.
모델을 생성한 후에는 필요에 따라 학습 데이터로 모델을 학습시킬 수 있고, 추론에 필요한 데이터로 모델의 출력을 계산할 수 있습니다.
추가적인 PyTorch 신경망 모델 생성에 대한 자세한 내용은 PyTorch 공식 문서를 참고하시기 바랍니다.
참고 자료:
- PyTorch 공식 문서: https://pytorch.org/docs/stable/nn.html