Builds configs for BERT Embedding layer. Defaults are from the BERT-BASE model. Args: max_position_embeddings: Number of positional embeddings. If None, position embedding is not used. layer_norm_epsilon: Optional epsilon for layer norm. type_vocab_size:
(
*,
max_position_embeddings: Optional[int] = 512,
layer_norm_epsilon: Optional[float] = None,
type_vocab_size: Optional[int] = None,
)
| 349 | |
| 350 | |
| 351 | def bert_embedding_config( |
| 352 | *, |
| 353 | max_position_embeddings: Optional[int] = 512, |
| 354 | layer_norm_epsilon: Optional[float] = None, |
| 355 | type_vocab_size: Optional[int] = None, |
| 356 | ) -> TransformerTextEmbeddings.Config: |
| 357 | """Builds configs for BERT Embedding layer. |
| 358 | |
| 359 | Defaults are from the BERT-BASE model. |
| 360 | |
| 361 | Args: |
| 362 | max_position_embeddings: Number of positional embeddings. |
| 363 | If None, position embedding is not used. |
| 364 | layer_norm_epsilon: Optional epsilon for layer norm. |
| 365 | type_vocab_size: Optional number of token type embeddings. |
| 366 | |
| 367 | Returns: |
| 368 | The embedding configs. |
| 369 | """ |
| 370 | cfg = TransformerTextEmbeddings.default_config().set( |
| 371 | norm=LayerNorm.default_config().set(eps=layer_norm_epsilon), |
| 372 | ) |
| 373 | if max_position_embeddings is not None: |
| 374 | cfg.set( |
| 375 | pos_emb=LearnedPositionalEmbedding.default_config().set( |
| 376 | shape=(max_position_embeddings,) |
| 377 | ) |
| 378 | ) |
| 379 | if type_vocab_size is not None: |
| 380 | cfg.set( |
| 381 | type_emb=Embedding.default_config().set(num_embeddings=type_vocab_size), |
| 382 | ) |
| 383 | return cfg |
| 384 | |
| 385 | |
| 386 | # Linter thinks `ignored_target_id` is an unused param and complains that we document it, so we |