LCWAEvaluationLoop

class LCWAEvaluationLoop(triples_factory: CoreTriplesFactory, evaluator: str | Evaluator | type[Evaluator] | None = None, evaluator_kwargs: Mapping[str, Any] | None = None, targets: Collection[Literal['head', 'relation', 'tail']] = ('head', 'tail'), mode: Literal['training', 'validation', 'testing'] | None = None, additional_filter_triples: Tensor | CoreTriplesFactory | Sequence[Tensor | CoreTriplesFactory] | None = None, **kwargs)[源代码]

基础类:EvaluationLoop[Mapping[Literal[‘head’, ‘relation’, ‘tail’], Tensor]]

使用1:n评分的评估循环。

为了简洁起见,我们仅描述尾部预测的评估。让\((h, r, t) \in \mathcal{T}_{eval}\)表示一个评估三元组。然后,我们计算所有三元组\((h, r, t')\)的分数,其中\(t' \in \mathcal{E}\),即用所有实体替换真实的尾部\(t\)

初始化评估循环。

Parameters:
  • triples_factory (CoreTriplesFactory) – 评估三元组工厂

  • evaluator (str | Evaluator | type[Evaluator] | None) – 评估器或其提示

  • evaluator_kwargs (Mapping[str, Any] | None) – 用于实例化评估器的额外基于关键字的参数

  • targets (Collection[Literal['head', 'relation', 'tail']]) – 预测目标。

  • mode (Literal['training', 'validation', 'testing'] | None) – 归纳模式,或用于传导评估的None

  • additional_filter_triples (Tensor | CoreTriplesFactory | Sequence[Tensor | CoreTriplesFactory] | None) – 用于创建过滤器的额外过滤三元组

  • kwargs – 传递给 EvaluationLoop.__init__() 的额外基于关键字的参数。不应包含键 datasetevaluator

方法总结

get_collator()

获取用于数据加载器的排序器。

process_batch(batch)

处理单个批次。

方法文档

get_collator()[来源]

获取用于数据加载器的排序器。

process_batch(batch: Mapping[Literal['head', 'relation', 'tail'], Tensor]) None[source]

处理单个批次。

Parameters:

batch (Mapping[Literal['head', 'relation', 'tail'], ~torch.Tensor]) – 数据集中的一个评估样本批次。

Return type: