TransD
- class TransD(*, embedding_dim: int = 50, relation_dim: int | None = None, interaction_kwargs: ~collections.abc.Mapping[str, ~typing.Any] | None = None, entity_initializer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function xavier_uniform_>, entity_constrainer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function clamp_norm>, relation_initializer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <pykeen.utils.compose object>, relation_constrainer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function clamp_norm>, **kwargs)[来源]
基础:
ERModel[tuple[Tensor,Tensor],tuple[Tensor,Tensor],tuple[Tensor,Tensor]]TransD的实现来自[ji2015]。
该模型将实体表示为\(d\)维向量的对,将关系表示为\(k\)维向量的对。实体和关系的嵌入向量都被约束为\(\|\cdot\|_2 \leq 1\)。它们存储在
Embedding矩阵中。然后,这些表示被传递给TransDInteraction函数以获得分数。另请参阅
OpenKE TransD的实现
初始化模型。
- Parameters:
embedding_dim (int) – (实体)嵌入维度。
relation_dim (int | None) – 关系嵌入维度。默认为
embedding_dim。interaction_kwargs (Mapping[str, Any] | None) – 传递给
TransDInteraction的额外基于关键字的参数。entity_initializer (str | Callable[[Tensor], Tensor] | None) – 实体表示的初始化器。默认为
pykeen.nn.init.xavier_uniform_()。entity_constrainer (str | Callable[[Tensor], Tensor] | None) – 实体表示约束器。默认为
pykeen.utils.clamp_norm()。relation_initializer (str | Callable[[Tensor], Tensor] | None) – 关系表示的初始化器。默认为
pykeen.nn.init.xavier_uniform_norm_()。relation_constrainer (str | Callable[[Tensor], Tensor] | None) – 关系表示约束器。默认为
pykeen.utils.clamp_norm()。kwargs – 传递给
ERModel的额外基于关键字的参数。
属性摘要
优化模型超参数的默认策略
属性文档