또한, 네 개의 이미지가 출력되는 이유는 한 번의 배치에서 네 개의 이미지만 가져오도록 했기 때문입니다.
이제 모델의 네트워크를 구축해야 합니다. 배치 정규화가 적용된 모델과 비교를 위해 배치 정규화가 적용되지 않는 모델을 먼저 생성해 보겠습니다.
코드 8-8 배치 정규화가 적용되지 않은 네트워크
class NormalNet(nn.Module):
def __init__(self):
super(NormalNet, self).__init__()
self.classifier = nn.Sequential(
nn.Linear(784, 48), ------ (28, 28) 크기의 이미지로 입력은 784(28×28) 크기가 됩니다.
nn.ReLU(),
nn.Linear(48, 24),
nn.ReLU(),
nn.Linear(24, 10) ------ FashionMNIST의 클래스는 총 열 개
) ------ nn.Sequential을 사용하면 forward( ) 함수에서 계층(layer)별로 가독성 있게 코드 구현이 가능
def forward(self, x):
x = x.view(x.size(0), -1)
x = self.classifier(x) ------ nn.Sequential에서 정의한 계층 호출
return x