You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在FiftyOne中调取已持久化的模型评估结果无需重跑评估

解决方案

方案1:直接加载数据集内置评估结果(推荐)

所有已运行完成的FiftyOne评估结果都会完整持久化存储在数据集的底层存储中,不需要重新执行evaluate_detections方法,直接调用内置的load_evaluation_results()接口即可获取完整的结果对象:

import fiftyone as fo

# 加载已持久化的数据集
dataset = fo.load_dataset("existing_dataset")

# 直接加载指定名称的已存评估结果
eval_results = dataset.load_evaluation_results("eval")

# 可直接调用结果对象的所有方法,例如获取mAP
print(eval_results.mAP())

该方案下所有访问同一数据集的团队拿到的结果完全同源,能100%保证数值一致性,且不需要等待评估重跑,也不存在序列化相关的兼容性问题。

方案2:跨环境离线共享评估结果

如果需要脱离原数据集环境给其他团队传递结果,不要手动对结果对象执行pickle序列化,使用FiftyOne官方提供的序列化/反序列化接口即可避免mongoengine相关的报错:

序列化保存结果

# 按上述方法加载到eval_results后
with open("detection_eval_results.json", "w", encoding="utf-8") as f:
    f.write(eval_results.serialize())

反序列化加载结果

其他团队拿到文件后执行以下代码即可得到完全一致的结果对象:

import fiftyone.utils.eval as foe

with open("detection_eval_results.json", "r", encoding="utf-8") as f:
    eval_results = foe.deserialize_evaluation_results(f.read())

内容的提问来源于stack exchange,提问作者mherzog

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 08:06:03