在自訂資料集上進行模型評估
在這個練習中,你會使用 Hugging Face 的 evaluate 套件裡的 evaluator,來評估預訓練模型在自訂資料集上的表現。請注意,對於類別不平衡的多類別分類問題,accuracy 並不是可靠的表現指標。因此,你會利用 evaluator 一次回傳多個指標的能力:precision 與 recall。
已經預先定義好資料集(dataset)與 pipeline(pipe)。evaluate 函式庫與 evaluator 類別也都已匯入。
本練習屬於課程
使用 Hugging Face 的多模態模型
練習說明
- 為你的
"image-classification"任務建立一個evaluator實例。 - 從 pipeline 取出整數到字串的標籤對應關係。
- 使用
metrics_dict與label_map中的指標,對資料集(dataset)與 pipeline(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}")