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","."]
code: def _create_backward_hook_input(self, inputs):
      def _backward_hook_input(grad):
          relevance = grad * inputs
          device = grad.device
          if self._has_single_input:
              self.relevance_input[device] = relevance.data
          else:
              self.relevance_input[device].append(relevance.data)
  
          # replace_out is needed since two hooks are set on the same tensor
          # The output of this hook is needed in backward_hook_activation
          grad.replace_out = relevance
          return relevance
  
      return _backward_hook_input
  
imports: from abc import ABC, abstractmethod
  import torch
  from ..._utils.common import _format_tensor_into_tuples
label_desc: Use image node_id 3 for calling the PropagationRule obj's underlying member method code with example usage: obj._create_backward_hook_input(inputs) and returns: _backward_hook_input, relevance