code: def _create_fwd_inputs_outputs(self, inputs, outputs):
      # inputs_fwd: x, (beta, gamma), rmean, rvar
      # outputs_fwd: y(, bmean, bvar)
      x0 = nn.Variable(inputs[self.x0_idx].shape).apply(need_grad=True)
      b0 = (
          nn.Variable(inputs[self.b0_idx].shape).apply(need_grad=True)
          if not self.no_bias
          else None
      )
      g0 = (
          nn.Variable(inputs[self.g0_idx].shape).apply(need_grad=True)
          if not self.no_scale
          else None
      )
      rm = nn.Variable(inputs[self.rm_idx].shape).apply(need_grad=False)
      rv = nn.Variable(inputs[self.rv_idx].shape).apply(need_grad=False)
      inputs_fwd = list(
          filter(lambda v: v is not None, [x0, b0, g0, rm, rv])
      )
      oshape = inputs[0].shape
      outputs_fwd = [nn.Variable(oshape)]
      return inputs_fwd, outputs_fwd
  
imports: from functools import partial
  import nnabla
  import nnabla.function
  import nnabla.functions
  import numpy
  from nnabla.function import PythonFunction
  from .utils import force_tuple
label_desc: Use image node_id 4 for calling the BatchNormalizationBackward obj's underlying member method code with example usage: obj._create_fwd_inputs_outputs(inputs, outputs) and returns: inputs_fwd,  outputs_fwd