Cool!  Thank you Sir!  I’ve written some code and now I can call  my_negative_scalar.backward() and print(x, model.state_dict()) before and after optimizer.step() and see my model change.   I really do appreciate a five line expanation, so much of PyTorch gets wrapped in vast libraries, it’s a real help to see it simply laid out.