code: def forward(self, x, gamma, beta):
      in_mean, in_var = paddle.mean(
          x, axis=[2, 3], keepdim=True
      ), paddle.var(x, axis=[2, 3], keepdim=True)
      out_in = (x - in_mean) / paddle.sqrt(in_var + self.eps)
      ln_mean, ln_var = paddle.mean(
          x, axis=[1, 2, 3], keepdim=True
      ), paddle.var(x, axis=[1, 2, 3], keepdim=True)
      out_ln = (x - ln_mean) / paddle.sqrt(ln_var + self.eps)
      out = (
          self.rho.expand([x.shape[0], -1, -1, -1]) * out_in
          + (1 - self.rho.expand([x.shape[0], -1, -1, -1])) * out_ln
      )
      out = out * gamma.unsqueeze(2).unsqueeze(3) + beta.unsqueeze(
          2
      ).unsqueeze(3)
  
      return out
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
label_desc: Use image node_id 2 for calling the AdaLIN obj's underlying member method code with example usage: obj.forward(x, gamma, beta) and returns: out