• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

CNN_MNIST 실습예제 질문입니다.

20.12.30 17:19 작성 조회수 133

0

self.fc1 =nn.Linear(320,50)에서 320이란 숫자가 어떻게 나온건지 모르겠습니다.

(W-F+2P)/S + 1을 적용해보면

1) (28-5+2*0)/1 + 1 => 24
2) (24-5+2*0)/1 + 1 => 20
3) 20 x 20 x 20(output depth) => 8,000이라고 생각했습니다.

답변 1

답변을 작성해보세요.

0

안녕하세요, Justin입니다.

(W - F + 2P) / S + 1 을 이용해서 Output shape을 잘 계산해주셨찌만, F.max_pool2d를 생략하신 것 같습니다.

1) 결과에서 F.max_pool2d를 이용하면 (12 * 12 * 10) 크기로 출력되고,
2) 결과에서 F.max_pool2d를 이요하면 (4 * 4 * 20) 크기로 출력됩니다.

따라서 Flatten되는 최종 개수는 4 * 4 * 20으로 320입니다.

감사합니다.