Jyoti_Prakash_mahesw:

x = Variable(x.cuda().float()) y = Variable(y.cuda()) #.unsqueeze(1))


when you create the variables, can you try passing requires_grad=False?
I suspect that the computation graphs are created even during validation routine.