src/transformers/models/esm/modeling_tf_esm.py/TFEsmEmbeddings/__init__
class TFEsmEmbeddings:    def __init__(self, config, name=None):
        super().__init__(name=name)
        self.word_embeddings = Embedding(
            config.vocab_size,
            config.hidden_size,
            embeddings_initializer=get_initializer(config.initializer_range),
            name="word_embeddings",
        )
        self.position_embeddings = Embedding(
            config.max_position_embeddings,
            config.hidden_size,
            embeddings_initializer=get_initializer(config.initializer_range),
            name="position_embeddings",
        )

        if config.emb_layer_norm_before:
            self.layer_norm = LayerNormalization(epsilon=config.layer_norm_eps, name="layer_norm")
        else:
            self.layer_norm = None
        # Matt: I think this line was copied incorrectly from BERT, disabling for now
        # self.dropout = Dropout(config.hidden_dropout_prob)
        self.position_embedding_type = getattr(config, "position_embedding_type", "absolute")

        self.position_ids = tf.range(config.max_position_embeddings)[None, :]

        self.padding_idx = config.pad_token_id
        self.token_dropout = config.token_dropout
        self.mask_token_id = config.mask_token_id
        self.config = config