It looks like your label tensor has the shape [16, 1] instead of [16].
Could you squeeze the unnecessary dimension using label = label.squeeze(1) and pass it to the criterion.
Also, pass output directly to the criterion, not output.data, and call the model directly via model(x1, x2) instead of model.forward.