torch_geometric.metrics.LinkPredMetric

class LinkPredMetric(k: int)[source]

Bases: _LinkPredMetric

An abstract class for computing link prediction retrieval metrics.

Parameters:

k (int) – The number of top-\(k\) predictions to evaluate against.

update(pred_index_mat: Tensor, edge_label_index: Union[Tensor, Tuple[Tensor, Tensor]], edge_label_weight: Optional[Tensor] = None) None[source]

Updates the state variables based on the current mini-batch prediction.

update() can be repeated multiple times to accumulate the results of successive predictions, e.g., inside a mini-batch training or evaluation loop.

Parameters:
  • pred_index_mat (torch.Tensor) – The top-\(k\) predictions of every example in the mini-batch with shape [batch_size, k].

  • edge_label_index (torch.Tensor) – The ground-truth indices for every example in the mini-batch, given in COO format of shape [2, num_ground_truth_indices].

  • edge_label_weight (torch.Tensor, optional) – The weight of the ground-truth indices for every example in the mini-batch of shape [num_ground_truth_indices]. If given, needs to be a vector of positive values. Required for weighted metrics, ignored otherwise. (default: None)

Return type:

None

compute() Tensor[source]

Computes the final metric value.

Return type:

Tensor

reset() None

Resets metric state variables to their default value.

Return type:

None