Can you please tell me how to solve the error:
Error:TypeError Traceback (most recent call last)
<ipython-input-14-e3fe2d5e1d3e> in <module>()
----> 6 run_train_test()
7 print('\nsucess!')
1 frames
<ipython-input-13-3ff21b7150f2> in run_train_test()
---> 17 net = model().cuda()
/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py in __call__(self, *input, **kwargs)
548 result = self._slow_forward(*input, **kwargs)
549 else:
--> 550 result = self.forward(*input, **kwargs)
551 for hook in self._forward_hooks.values():
552 hook_result = hook(self, input, result)
TypeError: forward() missing 1 required positional argument: 'x'
Full code:preprocess = transforms.Compose([ transforms.Resize(224), transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]), ]) class KaggleTrainDataset(Dataset): def __init__(self): dffinal = pd.read_csv(TRAINCHECK_DATA_DIR + '/dffinal.csv') self.uid = dffinal['image_name'] self.label = dffinal['target'] def __str__(self): string = '' string += '\tlen = %d\n'%len(self) return string def __len__(self): return len(self.uid) def __getitem__(self, index): image_id = self.uid[index] label = self.label[index] patth='/check/'|'/copycheck/'|'/copycheck2/'|'/copycheck3/' image = cv2.imread(USER_DATA + patth+ '/%s'%(image_id) +'.jpg' , cv2.IMREAD_COLOR) return image, image_id, label def null_train_collate(batch): batch_size = len(batch) input = [] image_id = [] label = [] for b in range(batch_size): input.append(batch[b][0]) image_id.append(batch[b][1]) label.append(batch[b][2]) input = preprocess(input) label = torch.from_numpy(label) return input, image_id, label def run_train_test(): num_epochs = 1 learning_rate = 0.001 print('load net training ...') model = models.resnet50(pretrained=True) for param in model.parameters(): param.requires_grad = False model.fc = nn.Sequential(nn.Linear(2048, 512), nn.ReLU(), nn.Linear(512, 2)) net = model().cuda() criterion = nn.CrossEntropyLoss().cuda() optimizer = torch.optim.Adam(net.parameters(), lr=learning_rate) dataset = KaggleTrainDataset() loader = DataLoader( dataset, sampler = SequentialSampler(dataset), batch_size = 8, drop_last = False, num_workers = 4, pin_memory = True, collate_fn = null_train_collate ) for epoch in range(num_epochs): for batch_idx, (input, image_id, label) in enumerate(loader): optimizer.zero_grad() input = input.cuda() label = label.float().cuda() loss = criterion(input, label) loss.backward() optimizer.step() if (batch_idx +1) % 8 == 0: print('\nEpoch [%d/%d], Step [%d/%d], Loss: %.4f') # %(epoch+1, num_epochs, batch_idx +1, len(dataset)//loader.batch_size, loss.data)) print('training finished') torch.save(net.state_dict(), CHECKPOINT_FILE) print('model saved') if __name__ == '__main__': print( '%s: calling main function ... ') run_train_test() print('\nsucess!')