code: def __init__(
      self,
      n_blocks,
      input_size,
      hidden_size,
      n_hidden,
      cond_label_size=None,
      batch_norm=True,
  ):
      super().__init__(input_size)
  
      # construct model
      modules = []
      mask = torch.arange(input_size).float() % 2
      for i in range(n_blocks):
          modules += [
              LinearMaskedCoupling(
                  input_size,
                  hidden_size,
                  n_hidden,
                  mask,
                  cond_label_size,
              )
          ]
          mask = 1 - mask
          modules += batch_norm * [BatchNorm(input_size)]
  
      self.net = FlowSequential(*modules)
  
imports: import copy
  import math
  import torch
  import torch.nn
  import torch.nn.functional
  from torch.distributions import Normal
label_desc: Use image node_id 1 to create a new RealNVP object from inherited base classes: Flow with example: obj = RealNVP(n_blocks, input_size, hidden_size, n_hidden, cond_label_size, batch_norm)