작성
·
280
·
수정됨
1
class Net(nn.Module):
def __init__(self):
super(Net, self).__init__()
self.conv1 = nn.Conv2d(3, 6, 5) # 합성곱 연산 (입력 채널수 3, 출력 채널수 6, 필터크기 5x5 , stride=1(defualt))
self.pool1 = nn.MaxPool2d(2, 2) # 합성곱 연산 (필터크기 2, stride=2)
self.conv2 = nn.Conv2d(6, 16, 5) # 합성곱 연산 (입력 채널수 6, 출력 채널수 16, 필터크기 5x5 , stride=1(defualt))
self.pool2 = nn.MaxPool2d(2, 2) # 합성곱 연산 (필터크기 2, stride=2)
self.fc1 = nn.Linear(16 * 5 * 5, 120) # 5x5 피쳐맵 16개를 일렬로 피면 16*5*5개의 노드가 생성
self.fc2 = nn.Linear(120, 10) # 120개 노드에서 클래스의 개수인 10개의 노드로 연산
def forward(self, x):
x = self.pool1(F.relu(self.conv1(x))) # conv1 -> ReLU -> pool1
x = self.pool2(F.relu(self.conv2(x))) # conv2 -> ReLU -> pool2
x = x.view(-1, 16 * 5 * 5) # 5x5 피쳐맵 16개를 일렬로 만든다.
x = F.relu(self.fc1(x))
x = self.fc2(x)
return x
net = Net().to(device) # 모델 선언
에 x = x.view(-1, 16 * 5 * 5) # 5x5 피쳐맵 16개를 일렬로 만든다.
에서 -1이 배치의 개수라고 하셨는데 그럼 이 파일의 코드에서
trainloader = torch.utils.data.DataLoader(trainset, batch_size=8, shuffle=True)
trainloader에서 batch_size 가 8이니까 -1값이 제일 마지막에 나누어 떨어지지 않을 때 제외하고
8 인건가요??
아니면
print(len(trainloader))
하니까 6250이 나오는데 6250일까요..
배치의 크기를 의미하는건지 헷갈립니다..