docstr: LSTM decoder.
  
  Parameters
  ----------
  latent_dim
      Latent dimension.
  output_dim
      Decoder output dimension.
  output_activation
      Activation used in the Dense output layer.
  name
      Name of decoder.
docstr_tok: ["LSTM","decoder",".","Parameters","--","--","--","--","--","latent_dim","Latent","dimension",".","output_dim","Decoder","output","dimension",".","output_activation","Activation","used","in","the","Dense","output","layer",".","name","Name","of","decoder","."]
code: def __init__(
      self,
      latent_dim: int,
      output_dim: int,
      output_activation: str = None,
      name: str = "decoder_lstm",
  ) -> None:
      """
      LSTM decoder.
  
      Parameters
      ----------
      latent_dim
          Latent dimension.
      output_dim
          Decoder output dimension.
      output_activation
          Activation used in the Dense output layer.
      name
          Name of decoder.
      """
      super(DecoderLSTM, self).__init__(name=name)
      self.decoder_net = LSTM(
          latent_dim, return_state=True, return_sequences=True
      )
      self.dense = Dense(output_dim, activation=output_activation)
  
imports: import numpy
  import tensorflow
  from tensorflow.keras.layers import Bidirectional, Concatenate, Dense, Flatten, Layer, LSTM
  from typing import Callable, List, Tuple
  from alibi_detect.utils.tensorflow.distance import relative_euclidean_distance
label_desc: Use image node_id 1 to create a new DecoderLSTM object from inherited base classes: Layer with example: obj = DecoderLSTM(latent_dim, output_dim, output_activation, name)