MuRE
- class MuRE(*, embedding_dim: int = 200, p: int = 2, power_norm: bool = True, entity_initializer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function normal_>, entity_initializer_kwargs: ~collections.abc.Mapping[str, ~typing.Any] | None = None, entity_bias_initializer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function zeros_>, relation_initializer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function normal_>, relation_initializer_kwargs: ~collections.abc.Mapping[str, ~typing.Any] | None = None, relation_matrix_initializer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function uniform_>, relation_matrix_initializer_kwargs: ~collections.abc.Mapping[str, ~typing.Any] | None = None, **kwargs)[source]
基础:
ERModel[tuple[Tensor,Tensor],tuple[Tensor,Tensor],tuple[Tensor,Tensor]]MuRE 的实现来自 [balazevic2019b]。
该模型将实体表示为\(d\)维向量,关系由两个\(k\)维向量表示。 此外,每个实体和每个角色(头或尾)都有单独的标量偏差。 所有表示都存储在
Embedding矩阵中。MuREInteraction函数用于获取分数。通过
pykeen.nn.modules.MuREInteraction交互初始化MuRE。- Parameters:
embedding_dim (int) – 实体嵌入维度 \(d\)。默认为200。通常为 \(d \in [50, 300]\)。
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.normal_()entity_initializer_kwargs (Mapping[str, Any] | None) – 调用实体初始化器时要使用的关键字参数
entity_bias_initializer (str | Callable[[Tensor], Tensor] | None) – 实体偏置初始化函数。默认为
torch.nn.init.zeros_()relation_initializer (str | Callable[[Tensor], Tensor] | None) – 关系初始化函数。默认为
torch.nn.init.normal_()relation_initializer_kwargs (Mapping[str, Any] | None) – 调用关系初始化器时要使用的关键字参数
relation_matrix_initializer (str | Callable[[Tensor], Tensor] | None) – 关系矩阵初始化函数。 默认为
torch.nn.init.uniform_()relation_matrix_initializer_kwargs (Mapping[str, Any] | None) – 调用关系矩阵初始化器时要使用的关键字参数
kwargs – 传递给
ERModel的剩余关键字参数。
属性摘要
优化模型超参数的默认策略
属性文档