tfrs.layers.feature_interaction.DotInteraction
Stay organized with collections
Save and categorize content based on your preferences.
Dot interaction layer.
tfrs.layers.feature_interaction.DotInteraction(
self_interaction: bool = False,
skip_gather: bool = False,
name: Optional[str] = None,
**kwargs
) -> None
See theory in the DLRM paper: https://arxiv.org/pdf/1906.00091.pdf,
section 2.1.3. Sparse activations and dense activations are combined.
Dot interaction is applied to a batch of input Tensors [e1,...,e_k] of the
same dimension and the output is a batch of Tensors with all distinct pairwise
dot products of the form dot(e_i, e_j) for i <= j if self self_interaction is
True, otherwise dot(e_i, e_j) i < j.
Attributes |
self_interaction
|
Boolean indicating if features should self-interact.
If it is True, then the diagonal enteries of the interaction matric are
also taken.
|
skip_gather
|
An optimization flag. If it's set then the upper triangle part
of the dot interaction matrix dot(e_i, e_j) is set to 0. The resulting
activations will be of dimension [num_features * num_features] from which
half will be zeros. Otherwise activations will be only lower triangle part
of the interaction matrix. The later saves space but is much slower.
|
name
|
String name of the layer.
|
Methods
call
View source
call(
inputs: List[tf.Tensor]
) -> tf.Tensor
Performs the interaction operation on the tensors in the list.
The tensors represent as transformed dense features and embedded categorical
features.
Pre-condition: The tensors should all have the same shape.
Args |
inputs
|
List of features with shapes [batch_size, feature_dim].
|
Returns |
activations
|
Tensor representing interacted features. It has a dimension
num_features * num_features if skip_gather is True, otherside
num_features * (num_features + 1) / 2 if self_interaction is True and
num_features * (num_features - 1) / 2 if self_interaction is False.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-04-26 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-04-26 UTC."],[],[]]