ConvKB

class ConvKB(*, embedding_dim: int = 200, hidden_dropout_rate: float = 0.0, num_filters: int = 400, regularizer: ~pykeen.regularizers.Regularizer | None = None, entity_initializer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function uniform_>, relation_initializer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function uniform_>, **kwargs)[源代码]

基础类:ERModel

ConvKB的实现来自[nguyen2018]

ConvKB 使用 \(d\) 维嵌入向量表示实体和关系, 这些向量存储为 EmbeddingConvKBInteraction 用于获取三元组分数。

另请参阅

初始化模型。

Parameters:
  • embedding_dim (int) – 实体嵌入维度 \(d\)

  • hidden_dropout_rate (float) – 隐藏层的dropout率

  • num_filters (int) – 使用的卷积滤波器数量

  • regularizer (Regularizer | None) – 使用的正则化器。默认为 \(L_p\)

  • entity_initializer (str | Callable[[Tensor], Tensor] | None) – 实体初始化函数。默认为 torch.nn.init.uniform_()

  • relation_initializer (str | Callable[[Tensor], Tensor] | None) – 关系初始化函数。默认为 torch.nn.init.uniform_()

  • kwargs – 传递给pykeen.models.EntityRelationEmbeddingModel的剩余关键字参数。

为了与论文保持一致,传递从TransE预训练的实体和关系嵌入。

属性摘要

hpo_default

优化模型超参数的默认策略

regularizer_default_kwargs

用于ConvKB的[nguyen2018]的LP设置。

属性文档

hpo_default: ClassVar[Mapping[str, Any]] = {'embedding_dim': {'high': 256, 'low': 16, 'q': 16, 'type': <class 'int'>}, 'hidden_dropout_rate': {'high': 0.5, 'low': 0.0, 'q': 0.1, 'type': <class 'float'>}, 'num_filters': {'high': 9, 'low': 7, 'scale': 'power_two', 'type': <class 'int'>}}

优化模型超参数的默认策略

regularizer_default_kwargs: ClassVar[Mapping[str, Any]] = {'apply_only_once': True, 'normalize': True, 'p': 2.0, 'weight': 0.0005}

用于ConvKB的[nguyen2018]的LP设置。