class_docstr: `AugmentedLSTMUnidirectional` implements a one-layer single directional
  AugmentedLSTM layer. AugmentedLSTM is an LSTM which optionally
  appends an optional highway network to the output layer. Furthermore the
  dropout controlls the level of variational dropout done.
  
  Args:
      embed_dim (int): The number of expected features in the input.
      lstm_dim (int): Number of features in the hidden state of the LSTM.
          Defaults to 32.
      go_forward (bool): Whether to compute features left to right (forward)
          or right to left (backward).
      recurrent_dropout_probability (float): Variational dropout probability
          to use. Defaults to 0.0.
      use_highway (bool): If `True` we append a highway network to the
          outputs of the LSTM.
      use_input_projection_bias (bool): If `True` we use a bias in
          our LSTM calculations, otherwise we don't.
  
  Attributes:
      cell (AugmentedLSTMCell): AugmentedLSTMCell that is applied at every timestep.
class_docstr_tok: ["`","AugmentedLSTMUnidirectional","`","implements","a","one-layer","single","directional","AugmentedLSTM","layer",".","AugmentedLSTM","is","an","LSTM","which","optionally","appends","an","optional","highway","network","to","the","output","layer",".","Furthermore","the","dropout","controlls","the","level","of","variational","dropout","done",".","Args",":","embed_dim","(","int",")",":","The","number","of","expected","features","in","the","input",".","lstm_dim","(","int",")",":","Number","of","features","in","the","hidden","state","of","the","LSTM",".","Defaults","to","32.","go_forward","(","bool",")",":","Whether","to","compute","features","left","to","right","(","forward",")","or","right","to","left","(","backward",")",".","recurrent_dropout_probability","(","float",")",":","Variational","dropout","probability","to","use",".","Defaults","to","0.0.","use_highway","(","bool",")",":","If","`","True","`","we","append","a","highway","network","to","the","outputs","of","the","LSTM",".","use_input_projection_bias","(","bool",")",":","If","`","True","`","we","use","a","bias","in","our","LSTM","calculations",",","otherwise","we","do","n't",".","Attributes",":","cell","(","AugmentedLSTMCell",")",":","AugmentedLSTMCell","that","is","applied","at","every","timestep","."]
code: def __init__(
      self,
      embed_dim: int,
      lstm_dim: int,
      go_forward: bool = True,
      recurrent_dropout_probability: float = 0.0,
      use_highway: bool = True,
      use_input_projection_bias: bool = True,
  ):
      super().__init__()
  
      self.embed_dim = embed_dim
      self.lstm_dim = lstm_dim
  
      self.go_forward = go_forward
      self.use_highway = use_highway
      self.recurrent_dropout_probability = recurrent_dropout_probability
  
      self.cell = AugmentedLSTMCell(
          self.embed_dim,
          self.lstm_dim,
          self.use_highway,
          use_input_projection_bias,
      )
      log_class_usage(__class__)
  
imports: import math
  from typing import Optional, Tuple
  import torch
  import torch.nn
  from pytext.config import ConfigBase
  from pytext.utils.usage import log_class_usage
  from torch.nn.utils.rnn import pack_padded_sequence, PackedSequence, pad_packed_sequence
  from .representation_base import RepresentationBase
label_desc: Use image node_id 1 to create a new AugmentedLSTMUnidirectional object from inherited base classes: nn with example: obj = AugmentedLSTMUnidirectional(embed_dim, lstm_dim, go_forward, recurrent_dropout_probability, use_highway, use_input_projection_bias)