Hi Bran!
Something fishy is going on here …



 stark:

loss = torch.nn.MSELoss(output, target)


This incorrectly constructs an instance of the MSELoss class, but
doesn’t actually calculate the value of the loss.
You want MSELoss() (output, target)
(or mse_loss (output, target)).


For instance the loss is 169.3941 for the following input tensors:
output = [13.7210,  1.6992, -0.1286, -0.9545, -0.9148,  2.3547], and target = [ 0.,  0.,  0.,  0., 14.,  1.])


The value you quote for the loss, 169.3941, seems to be off by 100.0.
I get 69.3945.
Here is a pytorch version 0.3.0 script that illustrates these two issues:
import torch
torch.__version__

output = torch.autograd.Variable (torch.FloatTensor ([13.7210, 1.6992, -0.1286, -0.9545, -0.9148, 2.3547]))
target = torch.autograd.Variable (torch.FloatTensor ([ 0., 0., 0., 0., 14., 1.]))
torch.nn.MSELoss (output, target)               # construct a bogus instance of the class MSELoss
torch.nn.MSELoss() (output, target)             # construct a legitimate instance of the class MSELoss and apply it to (output, target)
torch.nn.functional.mse_loss (output, target)   # apply the function mse_loss() to (output, target)
((output - target)**2).mean()                   # compute mean-squared-error directly, just to check
169.3941 - ((output - target)**2).mean()        # your result is off by 100

Here is the output:
>>> import torch
>>> torch.__version__
'0.3.0b0+591e73e'
>>>
>>> output = torch.autograd.Variable (torch.FloatTensor ([13.7210, 1.6992, -0.1286, -0.9545, -0.9148, 2.3547]))
>>> target = torch.autograd.Variable (torch.FloatTensor ([ 0., 0., 0., 0., 14., 1.]))
>>> torch.nn.MSELoss (output, target)               # construct a bogus instance of the class MSELoss
MSELoss(
)
>>> torch.nn.MSELoss() (output, target)             # construct a legitimate instance of the class MSELoss and apply it to (output, target)
Variable containing:
 69.3945
[torch.FloatTensor of size 1]

>>> torch.nn.functional.mse_loss (output, target)   # apply the function mse_loss() to (output, target)
Variable containing:
 69.3945
[torch.FloatTensor of size 1]

>>> ((output - target)**2).mean()                   # compute mean-squared-error directly, just to check
Variable containing:
 69.3945
[torch.FloatTensor of size 1]

>>> 169.3941 - ((output - target)**2).mean()        # your result is off by 100
Variable containing:
 99.9996
[torch.FloatTensor of size 1]

Good luck.
K. Frank