|View source on GitHub|
A dual encoder model based on a transformer-based encoder.
tfm.nlp.models.DualEncoder( network: tf.keras.Model, max_seq_length: int = 32, normalize: bool = True, logit_scale: float = 1.0, logit_margin: float = 0.0, output: str = 'logits', **kwargs ) -> None
This is an implementation of the dual encoder network structure based on the transfomer stack, as described in "Language-agnostic BERT Sentence Embedding"
The DualEncoder allows a user to pass in a transformer stack, and build a dual encoder model based on the transformer stack.
||Returns a dictionary of items to be additionally checkpointed.|
call( inputs, training=None, mask=None )
Calls the model on new inputs and returns the outputs as tensors.
In this case
call() just reapplies
all ops in the graph to the new inputs
(e.g. build a new computational graph from the provided inputs).
||Input tensor, or dict/list/tuple of input tensors.|
Boolean or boolean scalar tensor, indicating whether to
||A mask or list of masks. A mask can be either a boolean tensor or None (no mask). For more details, check the guide here.|
|A tensor if there is a single output, or a list of tensors if there are more than one outputs.|