IRIS 데이터 셋 활용 - 딥러닝 모델 구축(2)
### 03. 모델 정의하기 class SimpleNN(nn.Module): def __init__(self): super(SimpleNN, self).__init__() self.fc1 = nn.Linear(2, 10) # 입력 차원이 2, 첫 번째 은닉층의 노드 수가 10 self.fc2 = nn.Linear(10, 3) # 두 번째 은닉층(출력층)의 노드 수가 3 (IRIS 클래스 수) def forward(self, x): x = torch.relu(self.fc1(x)) x = self.fc2(x) return x model = SimpleNN() ### 04. 모델 학습하기 criterion = nn.CrossEntropyLoss() optimizer = optim.Adam(model.parameters(), lr=0.01) def train(model, train_loader, criterion, optimizer, epochs=100): model.train() for epoch in range(epochs): for data, target in train_loader: optimizer.zero_grad() output = model(data) loss = criterion(output, target) loss.backward() optimizer.step() if (epoch+1) % 10 == 0: print(f'Epoch {epoch+1}, Loss: {loss.item():.4f}') train(model, train_loader, criterion, optimizer)
기본 미션
레벨업 미션
* 성실한 태도, 작은 나의 땀과 노력이 모여 미래를 만듭니다. 정직, 성실 소중한 가치