Looks fine. Usually you don’t need requires_grad=True for your input, but that shouldn’t make a difference.
Could you post the data file?
What does your loss do? Is it constant or is it shaking a bit?