코드 5-6 심층 신경망 모델 생성
class FashionDNN(nn.Module):
def __init__(self): ------ ①
super(FashionDNN, self).__init__()
self.fc1 = nn.Linear(in_features=784, out_features=256) ------ ②
self.drop = nn.Dropout(0.25) ------ ③
self.fc2 = nn.Linear(in_features=256, out_features=128)
self.fc3 = nn.Linear(in_features=128, out_features=10)
def forward(self, input_data): ------ ④
out = input_data.view(-1, 784) ------ ⑤
out = F.relu(self.fc1(out)) ------ ⑥
out = self.drop(out)
out = F.relu(self.fc2(out))
out = self.fc3(out)
return out
① 클래스(class) 형태의 모델은 항상 torch.nn.Module을 상속받습니다. __init__()은 객체가 갖는 속성 값을 초기화하는 역할을 하며, 객체가 생성될 때 자동으로 호출됩니다. super(FashionDNN, self).__init__()은 FashionDNN이라는 부모(super) 클래스를 상속받겠다는 의미로 이해하면 됩니다.