i edited .view() to .reshape() but same error still occured…
def accuracy(output, target, topk=(1,)):
maxk = max(topk)
batch_size = target.size(0)
_, pred = output.topk(maxk, 1, True, True)
pred = pred.t()
correct = pred.eq(target.view(1, -1).expand_as(pred))
res = []
for k in topk:
correct_k = correct[:k].reshape(-1).float().sum(0)
res.append(correct_k.mul_(100.0/batch_size))
return res
full error sentence:
RuntimeError: view size is not compatible with input tensor’s size and stride (at least one dimension spans across two contiguous subspaces). Use .reshape(…) instead.
The posted error is raised, if the tensor it not contiguous in memory and thus view will fail.
You could either use .reshape instead as suggested in the error message or .contiguous().view(...) alternatively.
What exactly does not work?
You would need to explain your issues with more details as your post shows code, which is neither properly formatted nor executable.
Thank you very much ptrblck for your time. I tried with another google account to use google colab, and surprisingly, both the alternatives of .view() as suggested by you worked.