나의 첫번째 딥러닝 모델 만들기 - 모델 학습
# 01. 라이브러리 불러오기 import torch import torch.nn as nn # 02. 모델 정의 및 인스턴스 생성 class SimpleModel(nn.Module): def __init__(self): super().__init__() self.linear = nn.Linear(1, 1) # 입력 차원 1, 출력 차원 1 def forward(self, x): return self.linear(x) # 모델 인스턴스 생성 model = SimpleModel() print(model, type(model)) # 데이터 및 레이블 생성 X = torch.randn(100, 1) # 100개의 입력 데이터 (랜덤) y = 2 * X + 0.5 # 선형 함수로 레이블 생성 (y = 2x + 0.5) print(X) print(y) # 손실 함수와 optimizer 정의 criterion = nn.MSELoss() optimizer = torch.optim.SGD(model.parameters(), lr=0.01) # 모델 학습 epochs = 1000 for epoch in range(epochs): y_pred = model(X) # 예측값 계산 loss = criterion(y_pred, y) # 손실 계산 optimizer.zero_grad() # 기울기 초기화 loss.backward() # 역전파 optimizer.step() # 파라미터 업데이트 print(f"학습 후 예측값: {model(torch.tensor([[3.0]])).item():.2f}")
기본 미션
레벨업 미션
* 성실한 태도, 작은 나의 땀과 노력이 모여 미래를 만듭니다. 정직, 성실 소중한 가치