用途:在 FiftyOne 中以二维嵌入空间可视化数据集,探索数据结构、发现聚类、识别离群点,并对比真实标签与模型预测。
主要能力:借助 brain 插件的算子完成嵌入计算与降维。compute_similarity 生成嵌入(可选模型如 clip-vit-base32-torch、dinov2-vits14-torch、resnet50-imagenet-torch、mobilenet-v2-imagenet-torch),compute_visualization 将嵌入降到 2D/3D,支持 umap、tsne、pca;compute_uniqueness 计算唯一性分数用于离群检测,sort_by_similarity 按相似度排序。可视化结果在 FiftyOne App 的 Embeddings 面板中查看,可按字段着色、点选或套索选择样本。
使用方式:先 set_context(dataset_name="my-dataset") 设置数据集,再 launch_app() 启动应用并等待 5-10 秒初始化(brain 算子为委托算子,需应用执行器)。用 list_operators(builtin_only=False) 与 get_operator_schema(operator_uri=...) 动态发现算子及参数。若缺少 brain 插件,用 download_plugin(url_or_repo="voxel51/fiftyone-plugins", plugin_names=["@voxel51/brain"]) 和 enable_plugin(plugin_name="@voxel51/brain") 安装启用。计算嵌入示例参数包含 brain_key、model、embeddings、backend="sklearn"、metric。之后调用 compute_visualization,传入 brain_key 与 embeddings 字段、method、num_dims=2。完成后打开 http://localhost:5151/ 的 Embeddings 面板,选择对应 brain_key。结束时 close_app()。
适用场景:基础数据集探索、离群点查找、类别在嵌入空间的分布对比、模型预测与真实标签对比、使用 t-SNE 生成局部结构更好的图。
限制与注意:UMAP 需要 umap-learn>=0.5,未安装可改用 tsne 或 pca。需先计算嵌入再可视化;brain_key 需在 compute_similarity 与 compute_visualization 间保持一致。不要用 set_view(exists=["brain_key"]) 过滤样本。大数据集较慢(如 UMAP 对 1 万样本约 30 秒,t-SNE 约 5-10 分钟),可先 set_view(limit=1000) 处理子集或改用更快的模型。文档未提供具体收费与价格信息。