class_docstr: ## Batch-Channel Normalization
  
  This first performs a batch normalization - either [normal batch norm](../batch_norm/index.html)
  or a batch norm with
  estimated mean and variance (exponential mean/variance over multiple batches).
  Then a channel normalization performed.
class_docstr_tok: ["#","#","Batch-Channel","Normalization","This","first","performs","a","batch","normalization","-","either","[","normal","batch","norm","]","(","..","\/batch_norm\/index.html",")","or","a","batch","norm","with","estimated","mean","and","variance","(","exponential","mean\/variance","over","multiple","batches",")",".","Then","a","channel","normalization","performed","."]
code: def forward(self, x):
      x = self.batch_norm(x)
      return self.channel_norm(x)
  
file_path: annotated_deep_learning_paper_implementations/labml_nn/normalization/batch_channel_norm/__init__.py
imports: import torch
  from torch import nn
  from labml_helpers.module import Module
  from labml_nn.normalization.batch_norm import BatchNorm
label_desc: Use image node_id 2 for calling the BatchChannelNorm obj's underlying member method code with example usage: obj.forward(x) and returns: self