class_docstr: Single `Convolution -> BatchNormalization` pass is folded into one `Convolution`.
  
  If there is a `Convolution -> BatchNormalization` pass,
  fold the batch normalization parameters to the kernel
  and bias (if it exists) of the preceding convolution,
  then skip the batch normalization following the convolution.
  
  Supported folding functions: `Convolution`, `Deconvolution`, `Affine`.
class_docstr_tok: ["Single","`","Convolution","-",">","BatchNormalization","`","pass","is","folded","into","one","`","Convolution","`",".","If","there","is","a","`","Convolution","-",">","BatchNormalization","`","pass",",","fold","the","batch","normalization","parameters","to","the","kernel","and","bias","(","if","it","exists",")","of","the","preceding","convolution",",","then","skip","the","batch","normalization","following","the","convolution",".","Supported","folding","functions",":","`","Convolution","`",",","`","Deconvolution","`",",","`","Affine","`","."]
code: def _compute_folded_parameters(self, ip_func, bn_func):
      beta_data = bn_func.inputs[1].d.copy()
      gamma_data = bn_func.inputs[2].d.copy()
      mean_data = bn_func.inputs[3].d.copy()
      var_data = bn_func.inputs[4].d.copy()
      eps_data = bn_func.info.args["eps"]
  
      # Reshape BN parameters to make it match with the weight of Conv/Deconv/Affine
      (
          beta_data,
          gamma_data,
          mean_data,
          var_data,
      ) = self.reshape_bn_parameters(
          ip_func,
          [beta_data, gamma_data, mean_data, var_data],
          self._channel_last,
      )
      std_data = np.sqrt(var_data + eps_data)
  
      # Fold
      c0 = gamma_data / std_data
      c1 = beta_data - (gamma_data * mean_data) / std_data
      w = ip_func.inputs[1]
      w_data = w.d
      w_data = c0 * w_data
      b_data = c1
  
      if len(ip_func.inputs) == 3:
          b = ip_func.inputs[2]
          b_data += c0 * b.d.reshape(b_data.shape)
  
      return w_data, np.squeeze(b_data)
  
imports: import nnabla
  import nnabla.functions
  import numpy
  from nnabla.initializer import ConstantInitializer
  from nnabla.parameter import get_parameter_or_create
  from .graph_converter import FunctionModifier
label_desc: Use image node_id 4 for calling the BatchNormalizationFoldingModifierInner obj's underlying member method code with example usage: obj._compute_folded_parameters(ip_func, bn_func) and returns: w_data,  np