固定模型

class FixedModel(*, triples_factory: KGInfo, **_kwargs)[源代码]

基础类:Model

一个返回固定分数的模拟模型。

\[score(h, r, t) = h \cdot |\mathcal{E}| \cdot |\mathcal{R}| + r \cdot |\mathcal{E}| + t\]

初始化模型。

Parameters:
  • triples_factory (KGInfo) – (训练)三元组工厂

  • _kwargs – 忽略基于关键字的参数

属性摘要

hpo_default

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

方法总结

collect_regularization_term()

获取损失函数的正则化项。

score_h(rt_batch[, heads])

使用左侧(头部)预测进行前向传递。

score_hrt(hrt_batch, **kwargs)

前向传播。

score_r(ht_batch[, relations])

使用中间(关系)预测进行前向传递。

score_t(hr_batch[, tails])

使用右侧(尾部)预测进行前向传递。

属性文档

hpo_default: ClassVar[Mapping[str, Any]] = {}

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

方法文档

collect_regularization_term()[source]

获取损失函数的正则化项。

score_h(rt_batch: Tensor, heads: Tensor | None = None, **kwargs) Tensor[source]

使用左侧(头部)预测进行前向传递。

此方法为每个(关系,尾部)对计算所有可能头部的分数。

Parameters:
  • rt_batch (Tensor) – 形状: (batch_size, 2), 数据类型: long (关系, 尾部) 对的索引。

  • slice_size – >0 使用切片时,评分函数的除数。

  • mode – 传递模式,在传导设置中为None,在归纳设置中为“training”、“validation”或“testing”之一。

  • heads (Tensor | None) – 形状: (num_heads,) | (batch_size, num_heads) 要评分的目标头实体索引。如果为None,则对所有实体进行评分(从给定模式中)。

Returns:

形状: (batch_size, num_heads), 数据类型: float 对于每个r-t对,所有可能头部的分数。

Return type:

Tensor

score_hrt(hrt_batch: Tensor, **kwargs) Tensor[来源]

前向传播。

该方法接受每个三元组的头、关系和尾,并计算相应的分数。

Parameters:
  • hrt_batch (Tensor) – 形状: (batch_size, 3), 数据类型: long (head, relation, tail) 三元组的索引。

  • mode – 传递模式,在传导设置中为None,在归纳设置中为“training”、“validation”或“testing”之一。

Returns:

形状: (batch_size, 1), 数据类型: float 每个三元组的分数。

Return type:

Tensor

score_r(ht_batch: Tensor, relations: Tensor | None = None, **kwargs) Tensor[source]

使用中间(关系)预测进行前向传递。

此方法为每个(头,尾)对计算所有可能关系的分数。

Parameters:
  • ht_batch (Tensor) – 形状: (batch_size, 2), 数据类型: long (head, tail) 对的索引。

  • slice_size – >0 使用切片时,评分函数的除数。

  • mode – 传递模式,在传导设置中为None,在归纳设置中为“training”、“validation”或“testing”之一。

  • relations (Tensor | None) – 形状: (num_relations,) | (batch_size, num_relations) 要评分的relation索引。如果为None,则对所有relations进行评分(从给定模式中)。

Returns:

形状: (batch_size, num_real_relations), 数据类型: float 对于每个h-t对,所有可能关系的分数。

Return type:

Tensor

score_t(hr_batch: Tensor, tails: Tensor | None = None, **kwargs) Tensor[source]

使用右侧(尾部)预测进行前向传递。

此方法为每个(头,关系)对计算所有可能尾部的分数。

Parameters:
  • hr_batch (Tensor) – 形状: (batch_size, 2), 数据类型: long (head, relation) 对的索引。

  • slice_size – >0 使用切片时,评分函数的除数。

  • mode – 传递模式,在传导设置中为None,在归纳设置中为“training”、“validation”或“testing”之一。

  • tails (Tensor | None) – 形状: (num_tails,) | (batch_size, num_tails) 要评分的尾部实体索引。如果为None,则对所有实体进行评分(从给定模式中)。

Returns:

形状: (batch_size, num_tails), 数据类型: float 对于每个h-r对,所有可能尾部的分数。

Return type:

Tensor