0

I implemented a code and I am trying to compute torch.nn.functional.cross_entropy but unfortunately, I receive the RuntimeError: only batches of spatial targets supported (3D tensors) but got targets of size: : [256] error!

cuda = torch.cuda.is_available()
for data, target in test_dataloader:
   #move to GPU if available
   if cuda:
      data, target = data.to('cuda'), target.to('cuda')

   #compute model output
   param_dict = initialize_nn(param_dict)
   pred = my_nn(data, param_dict)
   prediction = torch.argmax(pred, axis=1)

   #comptue accuracy for minibatch
   train_acc = torch.sum(prediction == target)
   print("Precision is:")
   print(train_acc / len(prediction))

   #compute loss for minibatch
   print()
   loss = torch.nn.functional.cross_entropy(data, target)
   loss.backward()
   print(loss)

0 Answers0