class_docstr: Base class for all propagation rule classes, also called Z-Rule.
  STABILITY_FACTOR is used to assure that no zero divison occurs.
class_docstr_tok: ["Base","class","for","all","propagation","rule","classes",",","also","called","Z-Rule",".","STABILITY_FACTOR","is","used","to","assure","that","no","zero","divison","occurs","."]
docstr: Backward hook to propagate relevance over non-linear activations.
docstr_tok: ["Backward","hook","to","propagate","relevance","over","non-linear","activations","."]
code: def backward_hook_activation(module, grad_input, grad_output):
      """Backward hook to propagate relevance over non-linear activations."""
      # replace_out is set in _backward_hook_input, this is necessary
      # due to 2 tensor hooks on the same tensor
      if hasattr(grad_output, "replace_out"):
          hook_out = grad_output.replace_out
          del grad_output.replace_out
          return hook_out
      return grad_output
  
imports: from abc import ABC, abstractmethod
  import torch
  from ..._utils.common import _format_tensor_into_tuples
label_desc: Use image node_id 2 for calling the PropagationRule obj's underlying member method code with example usage: obj.backward_hook_activation(module, grad_input, grad_output) and returns: grad_output, hook_out