code: def transform(self, model, node):
      # Fuse weight and bias of Dense/Conv1D/Conv2D layer with BN values
      parent_node = node.get_input_node()
      parent_map = parent_node.get_output_use_map()
      node_map = node.get_output_use_map()
      if (
          len(parent_map[parent_node.name]) > 1
          or len(node_map[node.name]) > 1
      ):
          return False
  
      parent_weight = parent_node.weights["weight"]
      parent_bias = parent_node.weights["bias"]
  
      bn_scale = node.weights["scale"]
      bn_bias = node.weights["bias"]
  
      fused_weight = bn_scale.data * parent_weight.data
      fused_bias = bn_scale.data * parent_bias.data + bn_bias.data
  
      model.remove_node(node, rewire=True)
      parent_weight.data = fused_weight
      parent_bias.data = fused_bias
      if not parent_node.get_attr("use_bias", True):
          parent_bias.update_precision(bn_bias.type.precision)
  
      return True
  
imports: from hls4ml.model.layers import BatchNormalization, Conv1D, Conv2D, Dense
  from hls4ml.model.optimizer import OptimizerPass
label_desc: Use image node_id 2 for calling the FuseBatchNormalization obj's underlying member method code with example usage: obj.transform(model, node) and returns: True, False