You have a shape mismatch regarding the output of your model and the target.
Try to unsqueeze the target in dim1 to avoid unwanted broadcasting:
loss = F.mse_loss(output, target.unsqueeze(1).float())

The latest PyTorch version should throw a warning in this line of code.
I’m not sure, what your current use case it, but you could remove
output.backward((output-target.float())/args.batch_size)

and replace it with
loss.backward()

which should work.