FiftyOne 的核心定位

FiftyOne 是一个数据管理和可视化工具,而不是模型训练框架。它的主要作用是:

1. 数据管理和探索

import fiftyone as fo

# 加载数据集
dataset = fo.load_dataset("my_dataset")

# 探索数据分布
print(dataset.count_values("ground_truth.label"))

2. 模型结果可视化

# 加载模型预测结果(模型训练在其他框架完成)
predictions = your_torch_model.predict(images)  # PyTorch模型
dataset.set_values("predictions", predictions)

# 可视化预测结果
session = fo.launch_app(dataset)

3. 模型评估和分析

# 计算混淆矩阵(基于已有的预测结果)
results = dataset.evaluate_classifications(
    "predictions",
    gt_field="ground_truth",
    eval_key="eval"
)

# 可视化混淆矩阵
plot = results.plot_confusion_matrix()

FiftyOne 不可以

  • ❌ 不训练模型 - 需要 PyTorch、TensorFlow 等
  • ❌ 不运行推理 - 需要使用训练好的模型
  • ❌ 不计算梯度 - 这是深度学习框架的工作
  • ❌ 不实现模型架构 - 需要其他框架

典型工作流程

# 1. 在其他框架训练模型
import torch
model = YourModel()
model.train()  # PyTorch 训练

# 2. 使用模型进行预测
predictions = model.predict(test_data)

# 3. 将结果导入 FiftyOne 进行分析
import fiftyone as fo
dataset = fo.Dataset()
dataset.add_samples(...)
dataset.set_values("predictions", predictions)

# 4. 使用 FiftyOne 分析
# - 查看错误分类
# - 分析不确定性
# - 筛选困难样本
view = dataset.filter_labels("predictions", F("confidence") < 0.5)

FiftyOne 的真正价值

1. 数据质量分析

# 找出标注错误
from fiftyone import ViewField as F
mistakes = dataset.match(F("predictions.label") != F("ground_truth.label"))

2. 主动学习支持

# 基于模型不确定性筛选样本
# 不确定性由外部模型计算
uncertain_samples = dataset.match(F("uncertainty") > 0.8)

3. 数据集版本管理

# 创建数据集快照
dataset.tag_samples("version_1.0", view)

与其他工具的关系

FiftyOne 功能
推理计算(外部)
模型训练(外部)
显示图像
加载数据
显示预测
分析置信度
相似度搜索
对比真实标签
筛选低置信度
模型推理
图像
预测结果
置信度分数
特征向量
模型.pth
PyTorch
模型.h5
TensorFlow
模型.onnx
ONNX
# FiftyOne 作为中心枢纽
# 1. 从 PyTorch 获取预测
torch_predictions = torch_model(images)

# 2. 从 NumPy 计算不确定性
uncertainty = np.std(predictions, axis=1)

# 3. 在 FiftyOne 中整合所有信息
for sample, pred, unc in zip(dataset, torch_predictions, uncertainty):
    sample["prediction"] = pred
    sample["uncertainty"] = unc
    sample.save()

# 4. 使用 FiftyOne 可视化和分析
session = fo.launch_app(dataset)

总结

FiftyOne 就像是机器学习工作流中的"数据IDE",它不生产模型,但让你更好地理解数据和模型表现。

场景选择
选择使用场景
数据质量检查
查看数据分布
发现标注错误
统计类别平衡
模型调试
查看预测错误
分析失败案例
对比不同模型
数据集构建
数据去重
样本筛选
数据增强预览
生产监控
预测质量监控
数据漂移检测
边缘案例收集
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐