code: def __init__(self, model_dim, heads_count, fc_dim, dropout_prob):
      super(TransformerEncoderLayer, self).__init__()
      self.self_attention_layer = Sublayer(
          MultiHeadAttention(heads_count, model_dim, dropout_prob),
          model_dim,
      )
      self.pointwise_feedforward_layer = Sublayer(
          PointwiseFeedForwardNetwork(fc_dim, model_dim, dropout_prob),
          model_dim,
      )
      self.dropout = nn.Dropout(dropout_prob)
  
imports: from collections import OrderedDict
  import os
  import numpy
  import torch
  from torch import nn
  from gluoncv.torch.utils.coot_utils import truncated_normal_fill
label_desc: Use image node_id 1 to create a new TransformerEncoderLayer object from inherited base classes: nn with example: obj = TransformerEncoderLayer(model_dim, heads_count, fc_dim, dropout_prob)