What values does your model predict?
I’ve seen some issues in the past, where the model predicted only the mean value(s) of the target and thus didn’t learn to generalize.
If that’s the case, I would recommend to try to overfit a small data sample first and make sure your current architecture is able to learn it.
PS: Variables are deprecated since PyTorch 0.4.0, so you can use tensors in newer versions.