[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 공식 문서를 참고하시기 바랍니다.

참고 자료: