모델을 학습시키기 전에 손실 함수, 학습률(learning rate), 옵티마이저(optimizer)에 대해 정의합니다.
코드 5-7 심층 신경망에서 필요한 파라미터 정의
learning_rate = 0.001;
model = FashionDNN();
model.to(device)
criterion = nn.CrossEntropyLoss(); ------ 분류 문제에서 사용하는 손실 함수
optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate); ------ ①
print(model)
① 옵티마이저를 위한 경사 하강법은 Adam을 사용하며, 학습률을 의미하는 lr은 0.001을 사용한다는 의미입니다.
앞 코드를 실행하면 앞에서 다음과 같이 생성한 심층 신경망 모델을 보여 줍니다.
FashionDNN( (fc1): Linear(in_features=784, out_features=256, bias=True) (drop): Dropout(p=0.25, inplace=False) (fc2): Linear(in_features=256, out_features=128, bias=True) (fc3): Linear(in_features=128, out_features=10, bias=True) )