在自定义数据集上评估模型
在本练习中,您将使用 Hugging Face 的 evaluate 包中的 evaluator 来评估预训练模型在自定义数据集上的表现。请注意,对于类别不均衡的多分类任务,accuracy(准确率)并不是可靠的指标。因此,您将利用 evaluator 同时提供多种度量的能力:precision(精确率)和 recall(召回率)。
数据集(dataset)和流水线(pipe)已预先定义。evaluate 库和 evaluator 类也已经导入。
本练习是课程的一部分
使用 Hugging Face 的多模态模型
练习说明
- 为
"image-classification"任务实例化一个evaluator。 - 从流水线中提取整数到字符串的标签映射。
- 使用存储在
metrics_dict和label_map中的度量,评估数据集(dataset)与流水线(pipe)。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Instantiate the task evaluator
task_evaluator = ____("____")
task_evaluator.METRIC_KWARGS = {"average": "weighted"}
# Get label map from pipeline
label_map = pipe.model.config.____
# Compute the metrics
eval_results = task_evaluator.____(model_or_pipeline=pipe, data=dataset,
metric=evaluate.____(metrics_dict), label_mapping=____)
print(f"Precision: {eval_results['precision']:.2f}, Recall: {eval_results['recall']:.2f}")