Ideally, yes. you are right. If you do not need any custom functions for your model, you need not use autograd.Function. You could just use modules from torch.nn packages, APIs from  torch, torch.nn.functional packages. As you said, you can create normal python function with these predefined APIs from torch and torch will take care of calculating the gradient automatically for you.