Hook¶
Description¶
Hook is the base class for a family of called objects that must perform certain operations on gradients before updating the weights. Examples of possible applications for hooks: normalizing the gradient, chopping off at a fixed threshold, adding noise to the gradient, etc.
Creating a custom Hook¶
To implement a custom hook, you need to declare a method __call__
:
def call(self, var, state, stream=None):
Parameters
Parameter | Allowed types | Description | Default |
---|---|---|---|
var | Variable | Object of the Variable library class, which is a wrapper around the GPU tensors | - |
state | str | String indicator of var belonging to a particular data type | - |
stream | - | - | None |
Explanations
-