PairRE
- class PairRE(embedding_dim: int = 200, p: int = 1, power_norm: bool = False, entity_initializer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function uniform_>, entity_initializer_kwargs: ~collections.abc.Mapping[str, ~typing.Any] | None = None, entity_normalizer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function normalize>, entity_normalizer_kwargs: ~collections.abc.Mapping[str, ~typing.Any] | None = None, relation_initializer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function uniform_>, relation_initializer_kwargs: ~collections.abc.Mapping[str, ~typing.Any] | None = None, **kwargs)[source]
基础类:
ERModel[Tensor,tuple[Tensor,Tensor],Tensor]来自[chao2020]的PairRE实现。
该模型将实体表示为\(d\)维向量,关系由一对\(d\)维向量表示,所有内容都存储在
Embedding矩阵中。此外,它强制实体嵌入具有单位长度。然后将表示传递给
PairREInteraction函数以获得分数。初始化模型。
- Parameters:
embedding_dim (int) – 实体嵌入维度 \(d\)。
p (int) – 与
torch.linalg.vector_norm()一起使用的范数。通常为1或2。power_norm (bool) – 是否使用\(L_p\)范数的p次方。它的优点是在0附近可微分,并且在数值上更稳定。
entity_initializer (str | Callable[[Tensor], Tensor] | None) – 实体初始化函数。默认为
torch.nn.init.uniform_()entity_initializer_kwargs (Mapping[str, Any] | None) – 调用实体初始化器时要使用的关键字参数
entity_normalizer (str | Callable[[Tensor], Tensor] | None) – 实体归一化函数。默认为
torch.nn.functional.normalize()entity_normalizer_kwargs (Mapping[str, Any] | None) – 调用实体规范化器时要使用的关键字参数
relation_initializer (str | Callable[[Tensor], Tensor] | None) – 关系初始化函数。默认为
torch.nn.init.uniform_()relation_initializer_kwargs (Mapping[str, Any] | None) – 调用关系初始化器时要使用的关键字参数
kwargs – 传递给
ERModel的剩余关键字参数。
属性摘要
默认实体归一化参数 实体表示被归一化为L2单位长度 参见。
优化模型超参数的默认策略
默认损失函数类的默认参数
属性文档
- default_entity_normalizer_kwargs: ClassVar[Mapping[str, Any]] = {'dim': -1, 'p': 2}
默认实体归一化参数 实体表示被归一化为L2单位长度 参见 https://github.com/alipay/KnowledgeGraphEmbeddingsViaPairedRelationVectors_PairRE/blob/0a95bcd54759207984c670af92ceefa19dd248ad/biokg/model.py#L232-L240 # noqa: E501