class_docstr: Multi-Layer Perceptron with Batch Normalization.
  
  Args:
      in_size (int): Input size.
      out_size (int): Output size.
      hidden_sizes (list of ints): Sizes of hidden channels.
      normalize_input (bool): If set to True, Batch Normalization is applied
          to inputs.
      normalize_output (bool): If set to True, Batch Normalization is applied
          to outputs.
      nonlinearity (callable): Nonlinearity between layers. It must accept a
          Variable as an argument and return a Variable with the same shape.
          Nonlinearities with learnable parameters such as PReLU are not
          supported.
      last_wscale (float): Scale of weight initialization of the last layer.
      
code: def __call__(self, x):
      h = x
      assert (not chainer.config.train) or x.shape[0] > 1
      if self.normalize_input:
          h = self.input_bn(h)
      if self.hidden_sizes:
          for link in self.hidden_layers:
              h = self.nonlinearity(link(h))
      h = self.output(h)
      if self.normalize_output:
          h = self.output_bn(h)
      return h
  
file_path: chainerrl/chainerrl/links/mlp_bn.py
imports: import chainer
  from chainer import functions
  from chainer.initializers import LeCunNormal
  from chainer import links
label_desc: Use image node_id 2 for calling the MLPBN obj's underlying member method code with example usage: obj.__call__(x) and returns: h