register_backward_hook(hook)
  Registers a backward hook on the module.

  This function is deprecated in favor of
  "register_full_backward_hook()" and the behavior of this
  function will change in future versions.

  Returns:
     a handle that can be used to remove the added hook by calling
     "handle.remove()"

  Return type:
     "torch.utils.hooks.RemovableHandle"

register_buffer(name, tensor, persistent=True)
  Adds a buffer to the module.

  This is typically used to register a buffer that should not to
  be considered a model parameter. For example, BatchNorm's
  "running_mean" is not a parameter, but is part of the module's
  state. Buffers, by default, are persistent and will be saved
  alongside parameters. This behavior can be changed by setting
  "persistent" to "False". The only difference between a
  persistent buffer and a non-persistent buffer is that the latter
