I don’t know about your example, but this works (PyTorch 0.3.1):
from torch.autograd import Variable
N = 3
vA = Variable(torch.rand((N, 1)))
vB = Variable(torch.rand((N)))
F.mse_loss(vA, vB) #Try F.mse_loss(vA, vB, reduce = False)

I’m not sure what difference does it make to make those variables.
As the data size stays the same and I’d expect the code to be consistent (Variable or Tensor).
If you set the reduce parameter to reduce = False you will be able to see the output with size (N, 1).