归纳节点片段
- class InductiveNodePiece(*, triples_factory: ~pykeen.triples.triples_factory.CoreTriplesFactory, inference_factory: ~pykeen.triples.triples_factory.CoreTriplesFactory, num_tokens: int = 2, embedding_dim: int = 64, relation_representations_kwargs: ~collections.abc.Mapping[str, ~typing.Any] | None = None, interaction: str | ~pykeen.nn.modules.Interaction | type[~pykeen.nn.modules.Interaction] | None = <class 'pykeen.nn.modules.DistMultInteraction'>, aggregation: str | ~typing.Callable[[~torch.Tensor, int], ~torch.Tensor] | None = None, validation_factory: ~pykeen.triples.triples_factory.CoreTriplesFactory | None = None, test_factory: ~pykeen.triples.triples_factory.CoreTriplesFactory | None = None, **kwargs)[来源]
基础类:
InductiveERModel一个包装器,它将交互函数与来自[galkin2021]的NodePiece实体表示结合起来。
该模型使用
pykeen.nn.NodePieceRepresentation而不是典型的pykeen.nn.Embedding来更高效地存储表示。初始化模型。
- Parameters:
triples_factory (CoreTriplesFactory) – 训练三元组的工厂。必须将create_inverse_triples设置为True。
inference_factory (CoreTriplesFactory) – 推理三元组的工厂。必须将create_inverse_triples设置为True。
validation_factory (CoreTriplesFactory | None) – 验证三元组的工厂。必须将create_inverse_triples设置为True。
test_factory (CoreTriplesFactory | None) – 测试三元组的工厂。必须将create_inverse_triples设置为True。
num_tokens (int) – 用于表示每个实体的关系数量,参见
pykeen.nn.NodePieceRepresentation.embedding_dim (int) – 嵌入维度。仅在未提供embedding_specification时使用。
relation_representations_kwargs (Mapping[str, Any] | None) – 关系表示参数
交互 (Interaction) – 交互模块,或它的提示。
aggregation (str | Callable[[Tensor, int], Tensor] | None) –
将多个标记表示聚合为单个实体表示。默认情况下,使用
torch.mean()。如果提供字符串,模块假设这是指顶层的 torch 函数,例如“mean”表示torch.mean(),或“sum”表示 func:torch.sum。聚合也可以有可训练的参数,例如MLP(mean(MLP(tokens)))(参见 [zaheer2017] 中的 DeepSets)。在这种情况下,模块必须在此组件之外创建。此外,我们支持提供“mlp”作为快捷方式,以使用 [galkin2021] 中的 MLP 聚合版本。
我们还可以有导致不同形状输出的聚合,例如所有标记嵌入的串联,导致形状为
(num_tokens * d,)。在这种情况下,必须提供 shape。聚合接受两个参数:标记表示的(批处理)张量,形状为
(*, num_tokens, *dt),以及要聚合的索引。kwargs – 传递给
ERModel.__init__()的额外基于关键字的参数
- Raises:
ValueError – 如果三元组工厂没有创建反向三元组
属性摘要
优化模型超参数的默认策略
方法总结
为新三元组工厂创建NodePiece表示。
属性文档
- hpo_default: ClassVar[Mapping[str, Any]] = {'embedding_dim': {'high': 256, 'low': 16, 'q': 16, 'type': <class 'int'>}}
优化模型超参数的默认策略
方法文档
- create_entity_representation_for_new_triples(triples_factory: CoreTriplesFactory) NodePieceRepresentation[来源]
为新三元组工厂创建NodePiece表示。
表示被初始化,以便使用相同的关系表示,并且聚合是共享的。
- Parameters:
triples_factory (CoreTriplesFactory) – 用于关系标记化的三元组工厂;必须共享相同的关系到ID的映射。
- Returns:
一个新的NodePiece实体表示,具有共享关系标记化和聚合。
- Raises:
ValueError – 如果三元组工厂不请求反向三元组,或者关系的数量不同。
- Return type: