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 forward(self, x):
      h = x
      if self.normalize_input:
          h = self.input_bn(h)
      if self.hidden_sizes:
          for layer in self.hidden_layers:
              h = self.nonlinearity(layer(h))
      h = self.output(h)
      if self.normalize_output:
          h = self.output_bn(h)
      return h
  
file_path: pfrl/pfrl/nn/mlp_bn.py
imports: import torch.nn
  import torch.nn.functional
  from pfrl.initializers import init_lecun_normal
label_desc: Use image node_id 2 for calling the MLPBN obj's underlying member method code with example usage: obj.forward(x) and returns: h