code: def __init__(self, output_input_dim, **kwargs):
      super(Encoder, self).__init__(**kwargs)
      self.convolutions = []
      for idx in range(3):
          self.convolutions.append(
              ConvBNBlock(
                  output_input_dim,
                  5,
                  "relu",
                  name=f"convolutions_{idx}",
              )
          )
      self.lstm = keras.layers.Bidirectional(
          keras.layers.LSTM(
              output_input_dim // 2,
              return_sequences=True,
              use_bias=True,
          ),
          name="lstm",
      )
  
imports: import tensorflow
  from tensorflow import keras
  from TTS.tts.tf.utils.tf_utils import shape_list
  from TTS.tts.tf.layers.common_layers import Prenet, Attention
label_desc: Use image node_id 1 to create a new Encoder object from inherited base classes: keras.layers with example: obj = Encoder(output_input_dim)