code: def __call__(self, x):
      x = self.conv_pre(x)
      for i in range(self.num_upsamples):
          x = jax.nn.leaky_relu(x, LRELU_SLOPE)
  
          x = self.ups[i](x)
          xs = None
          for j in range(self.num_kernels):
              if xs is None:
                  xs = self.resblocks[i * self.num_kernels + j](x)
              else:
                  xs += self.resblocks[i * self.num_kernels + j](x)
          x = xs / self.num_kernels
      x = jax.nn.leaky_relu(x)  # default pytorch value
      x = self.conv_post(x)
      x = jnp.tanh(x)
      return x
  
file_path: underthesea/underthesea/pipeline/say/viettts_/hifigan/model.py
imports: import haiku
  import jax
  import jax.numpy
label_desc: Use image node_id 2 for calling the Generator obj's underlying member method code with example usage: obj.__call__(x) and returns: x