predict_r_uncertain(model, ht_batch, num_samples=5, slice_size=None, *, mode=None)[source]

Forward pass using middle (relation) prediction for obtaining scores of all possible relations.

This method calculates the score for all possible relations for each (head, tail) pair, as well as an uncertainty quantification.

  • model (Model) – the model used for predicting scores

  • ht_batch (LongTensor) – shape: (batch_size, 2) The indices of (head, tail) pairs.

  • slice_size (Optional[int]) – >0 The divisor for the scoring function when using slicing.

  • num_samples (int) – >1 the number of samples to draw

  • mode (Optional[Literal[‘training’, ‘validation’, ‘testing’]]) – The pass mode, which is None in the transductive setting and one of “training”, “validation”, or “testing” in the inductive setting.

Return type:



shape: (batch_size, num_relations) For each h-t pair, the scores for all possible relations.

This function delegates to predict_uncertain_helper() by using pykeen.models.Model.score_r() as the score_method.


This function sets the model to evaluation mode and all dropout layers to training mode.