code: def _fuse_conv_bn_eval(conv, bn):
      """fuse conv and bn for eval"""
      assert not (conv.training or bn.training), "Fusion only for eval!"
      fused_conv = copy.deepcopy(conv)
  
      fused_weight, fused_bias = _fuse_conv_bn_weights(
          fused_conv.weight,
          fused_conv.bias,
          bn._mean,
          bn._variance,
          bn._epsilon,
          bn.weight,
          bn.bias,
      )
      fused_conv.weight.set_value(fused_weight)
      if fused_conv.bias is None:
          fused_conv.bias = paddle.create_parameter(
              shape=[fused_conv._out_channels],
              is_bias=True,
              dtype=bn.bias.dtype,
          )
      fused_conv.bias.set_value(fused_bias)
      return fused_conv
  
file_path: PaddleDetection/ppdet/utils/fuse_utils.py
imports: import copy
  import paddle
  import paddle.nn
label_desc: Use image node_id 6 for calling a global function with example usage: _fuse_conv_bn_eval(conv, bn) and returns: fused_conv