MultiModalPredictor.evaluate

MultiModalPredictor.evaluate(data: DataFrame | dict | list | str, query_data: list | None = None, response_data: list | None = None, id_mappings: Dict[str, Dict] | Dict[str, Series] | None = None, metrics: str | List[str] | None = None, chunk_size: int | None = 1024, similarity_type: str | None = 'cosine', cutoffs: List[int] | None = [1, 5, 10], label: str | None = None, return_pred: bool | None = False, realtime: bool | None = False, eval_tool: str | None = None, predictions: List[ndarray] | None = None, labels: ndarray | None = None)[source]

在给定数据集上评估模型。

参数:
  • data – 一个 pd.DataFrame,包含与训练数据相同的列。或者是一个 str,即检测任务的标注文件路径。

  • query_data – 用于排序的查询数据。

  • response_data – 用于排序的响应数据。

  • id_mappings – ID 到内容的映射。内容可以是文本、图像等。当 data/query_data/response_data 包含查询/响应标识符而非实际内容时使用此参数。

  • metrics – 要报告的评估指标名称列表。如果为 None,则仅返回存储的 _eval_metric_name 的分数。

  • chunk_size – 每次按 chunk_size 大小扫描响应数据。增加该值会提高速度,但需要更多内存。

  • similarity_type – 使用哪种函数(cosine/dot_prod)计算相似度(默认:cosine)。

  • cutoffs – 用于评估排序的截断值列表。

  • label – 数据中的标签列名称。某些任务,例如图像<–>文本匹配,训练数据中没有标签列,但在评估时可能仍然需要标签列。

  • return_pred – 是否返回每一行的预测结果。

  • realtime – 是否进行实时推理,这对于小数据量很高效(默认为 False)。如果提供 None,我们将根据数据模态和样本数量进行推断。

  • eval_tool – 目标检测的评估工具。可以是“pycocotools”或“torchmetrics”。

返回值:

  • 一个字典,包含评估指标名称及其对应的分数。

  • 可选地返回预测结果的 pd.DataFrame。