predict_t_uncertain

predict_t_uncertain(model: Model, hr_batch: Tensor, num_samples: int = 5, slice_size: int | None = None, *, mode: Literal['training', 'validation', 'testing'] | None = None) UncertainPrediction[source]

使用右侧(尾部)预测进行前向传递,以获取所有可能尾部的分数。

该方法为每个(头,关系)对计算所有可能尾部的分数,以及不确定性量化。

注意

我们只期望右侧的预测,即\((h,r,*)\)在模型使用逆关系训练时改变其默认行为(主要是由于LCWA训练方法的行为)。这就是为什么predict_h_uncertain()在训练中是否使用逆三元组时具有不同的行为,以及为什么此函数无论是否使用逆三元组都具有相同的行为。

Parameters:
  • model (Model) – 用于预测分数的模型

  • hr_batch (Tensor) – 形状: (batch_size, 2) (head, relation) 对的索引。

  • slice_size (int | None) – >0 使用切片时评分函数的除数。

  • num_samples (int) – >1 要抽取的样本数量

  • mode (Literal['training', 'validation', 'testing'] | None) – 传递模式,在传导设置中为None,在归纳设置中为“training”、“validation”或“testing”之一。

Returns:

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

此函数通过使用pykeen.models.Model.score_t()作为score_method,委托给predict_uncertain_helper()

Return type:

UncertainPrediction

警告

此函数将模型设置为评估模式,并将所有dropout层设置为训练模式。