
'''
def init(self):
super(Net, self).init()
# 1. C1+S2
#Layer C1: 5x5 크기의 kernel 6개와 stride=1을 지닌 convolutional layer; stride=1 default.
self.conv1 = nn.Conv2d(3, 6, 5) #conv layer 생성1
'''
3은 input 이미지의 채널, 여기서는 color니까 3임.
6은 output 채널.
5는 kernal의 size.
'''
#Layer S2: 2x2 크기의 kernel(6개)와 stride=2을 지닌 subsampling layer; padding=0 default
self.pool = nn.MaxPool2d(2, 2) #maxpooling 생성
#앞에 2는 kernal의 size
#뒤에 2는 stride의 size
# 2. C3+S4
#Layer C3: 5x5 크기의 kernel 16개와 stride=1을 지닌 convolution layer
self.conv2 = nn.Conv2d(6, 16, 5) #conv layer 생성2
#Layer S4: 2x2 크기의 kernel 16개와 stride=2을 지닌 subsampling layer
self.pool = nn.MaxPool2d(2, 2) #maxpooling 생성
# 3. C5+F6
#Layer C5: 5x5 크기의 kernel 120개와 stride=1을 지닌 convolutional layer
self.conv3 = nn.Conv2d(16, 120, 5) #conv layer 생성2
# self.fc1 = nn.Linear(16 * 5 * 5, 120) #fully connected layer1
#Layer F6: fully-connected layer
self.fc1 = nn.Linear(120, 84) #fully connected layer
#120은 input feature
#84는 output feature
# Output layer
self.fc2 = nn.Linear(84, 10) #class가 10개라 마지막(output)이 10
#84은 input feature
#10은 output feature
'''
https://d2l.ai/chapter_convolutional-neural-networks/lenet.html
https://m.blog.naver.com/ckdgus1433/221406102936
https://deep-learning-study.tistory.com/503
https://ctkim.tistory.com/119