
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
# CNN 모델 정의
class SimpleCNN(nn.Module):
def __init__(self):
super(SimpleCNN,self).__init__()
self.conv1=nn.Conv2d(1,32,3,padding=1)
self.pool=nn.MaxPool2d(2,2)
self.conv2=nn.Conv2d(32,64,3,padding=1)
self.fc1=nn.Linear(64*7*7,512)
self.fc2=nn.Linear(512,10)
def forward(self,x):
x=self.pool(torch.relu(self.conv1(x)))
x=self.pool(torch.relu(self.conv2(x)))
x=x.view(-1,64*7*7)
x=torch.relu(self.fc1(x))
x=self.fc2(x)
return x
# 모델 학습
model=SimpleCNN()
criterion=nn.CrossEntropyLoss()
optimizer=optim.SGD(model.parameters(),lr=0.01,momentum=0.9)
for epoch in range(10):
running_loss=0.0
for i,data in enumerate(trainloader,0):
inputs,labels=data
optimizer.zero_grad()
outputs=model(inputs)
loss=criterion(outputs,labels)
loss.backward()
optimizer.step()
#손실출력
running_loss+=loss.item()
if i%100==99:
print(f'[Epoch{epoch+1} Batch{i+1} loss: {running_loss/100:.3f}]')
running_loss=0.0
이렇게 코드를 똑같이 작성했는데, TypeError: __init__() takes 1 positional argument but 2 were given 이런 오류가 생겼습니다....
참고로 MNIST 데이터입니다!
def __init__() 부분에서 오타가 난건가요?
