class_docstr: BiLSTM with same hidden units as input dim.
  If `max_steps` is not None, input will be splitting in overlapping
  chunks and the LSTM applied separately on each chunk.
  Args:
      dim (int): dimensions at LSTM layer.
      layers (int, optional): number of LSTM layers. (default: 1)
      skip (bool, optional): (default: ``False``)
class_docstr_tok: ["BiLSTM","with","same","hidden","units","as","input","dim",".","If","`","max_steps","`","is","not","None",",","input","will","be","splitting","in","overlapping","chunks","and","the","LSTM","applied","separately","on","each","chunk",".","Args",":","dim","(","int",")",":","dimensions","at","LSTM","layer",".","layers","(","int",",","optional",")",":","number","of","LSTM","layers",".","(","default",":","1",")","skip","(","bool",",","optional",")",":","(","default",":","``","False","``",")"]
code: def __init__(self, dim, layers: int = 1, skip: bool = False):
      super().__init__()
      self.max_steps = 200
      self.lstm = nn.LSTM(
          bidirectional=True,
          num_layers=layers,
          hidden_size=dim,
          input_size=dim,
      )
      self.linear = nn.Linear(2 * dim, dim)
      self.skip = skip
  
imports: import math
  import typing
  from typing import Any, Dict, List, Optional
  import torch
  from torch import nn
  from torch.nn import functional
label_desc: Use image node_id 1 to create a new _BLSTM object from inherited base classes: torch.nn with example: obj = _BLSTM(dim, layers, skip)