class_docstr: A single RNNLayer with optional batch norm.
class_docstr_tok: ["A","single","RNNLayer","with","optional","batch","norm","."]
code: def forward(
      self,
      x: torch.Tensor,
      hx: Optional[List[Tuple[torch.Tensor, torch.Tensor]]] = None,
  ) -> Tuple[torch.Tensor, Tuple[torch.Tensor, torch.Tensor]]:
      if hasattr(self, "bn"):
          x = x.contiguous()
          x = self.bn(x)
      x, h = self.rnn(x, hx=hx)
      return x, h
  
imports: import math
  from typing import List, Optional, Tuple, Union
  import numpy
  import torch
  from nemo.utils import logging
label_desc: Use image node_id 2 for calling the RNNLayer obj's underlying member method code with example usage: obj.forward(x, hx) and returns: x,  h