多线性Tucker交互

class MultiLinearTuckerInteraction(head_dim: int = 64, relation_dim: int | None = None, tail_dim: int | None = None)[源代码]

基础类: Interaction[Tensor, Tensor, Tensor]

原始(多线性)TuckER交互的实现,如[tucker1966]所述。

注意

对于小型张量,有更高效的算法来计算分解,例如, http://tensorly.org/stable/modules/generated/tensorly.decomposition.Tucker.html

初始化Tucker交互函数。

Parameters:
  • head_dim (int) – 头部实体嵌入维度。

  • relation_dim (int | None) – 关系嵌入维度。默认为 head_dim

  • tail_dim (int | None) – 尾部实体嵌入维度。默认为 head_dim

属性摘要

entity_shape

实体表示的符号形状

relation_shape

关系表示的符号形状

方法总结

forward(h, r, t)

评估交互函数。

reset_parameters()

重置交互函数可能具有的参数。

属性文档

entity_shape: Sequence[str] = ('d', 'f')

实体表示的符号形状

relation_shape: Sequence[str] = ('e',)

关系表示的符号形状

方法文档

forward(h: Tensor, r: Tensor, t: Tensor) Tensor[来源]

评估交互函数。

另请参阅

Interaction.forward 提供了关于交互函数通用批处理形式的详细描述。

Parameters:
  • h (Tensor) – 形状: (*batch_dims, head_dim) 头表示。

  • r (Tensor) – 形状: (*batch_dims, relation_dim) 关系表示。

  • t (Tensor) – 形状: (*batch_dims, tail_dim) 尾部的表示。

Returns:

形状: batch_dims 分数。

Return type:

Tensor

reset_parameters()[来源]

重置交互函数可能具有的参数。