class_docstr: Activation Normalization bijector as an alternative to Batch Norm. It computes
  mean and std from a sample data in advance and it uses these values
  for normalization at training.
  
  Args:
      channels (int): input channels.
      ddi (False): data depended initialization flag.
  
  Shapes:
      - inputs: (B, C, T)
      - outputs: (B, C, T)
class_docstr_tok: ["Activation","Normalization","bijector","as","an","alternative","to","Batch","Norm",".","It","computes","mean","and","std","from","a","sample","data","in","advance","and","it","uses","these","values","for","normalization","at","training",".","Args",":","channels","(","int",")",":","input","channels",".","ddi","(","False",")",":","data","depended","initialization","flag",".","Shapes",":","-","inputs",":","(","B",",","C",",","T",")","-","outputs",":","(","B",",","C",",","T",")"]
code: def initialize(self, x, x_mask):
      with torch.no_grad():
          denom = torch.sum(x_mask, [0, 2])
          m = torch.sum(x * x_mask, [0, 2]) / denom
          m_sq = torch.sum(x * x * x_mask, [0, 2]) / denom
          v = m_sq - (m**2)
          logs = 0.5 * torch.log(torch.clamp_min(v, 1e-6))
  
          bias_init = (
              (-m * torch.exp(-logs))
              .view(*self.bias.shape)
              .to(dtype=self.bias.dtype)
          )
          logs_init = (
              (-logs).view(*self.logs.shape).to(dtype=self.logs.dtype)
          )
  
          self.bias.data.copy_(bias_init)
          self.logs.data.copy_(logs_init)
  
file_path: TTS/TTS/tts/layers/generic/normalization.py
imports: import torch
  from torch import nn
label_desc: Use image node_id 5 for calling the ActNorm obj's underlying member method code with example usage: obj.initialize(x, x_mask) without return types