voxel51/fiftyone

GitHub: voxel51/fiftyone

FiftyOne 是一个开源平台,用于帮助用户可视化、标注和优化计算机视觉数据集与模型,以提升AI开发效率。

Stars: 10764 | Forks: 766

  **用于构建高质量数据集和计算机视觉模型的 开源工具** 网站文档立即体验入门指南教程博客社区 [![PyPI python](https://img.shields.io/pypi/pyversions/fiftyone)](https://pypi.org/project/fiftyone) [![PyPI version](https://badge.fury.io/py/fiftyone.svg)](https://pypi.org/project/fiftyone) [![Downloads](https://static.pepy.tech/badge/fiftyone)](https://pepy.tech/project/fiftyone) [![Docker Pulls](https://badgen.net/docker/pulls/voxel51/fiftyone?icon=docker&label=pulls)](https://hub.docker.com/r/voxel51/fiftyone/) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) [![Discord](https://img.shields.io/badge/Discord-7289DA?logo=discord&logoColor=white)](https://discord.gg/fiftyone-community) [![Hugging Face](https://img.shields.io/badge/Hugging_Face-purple?style=flat&logo=huggingface)](https://huggingface.co/Voxel51) [![Voxel51 Blog](https://img.shields.io/badge/Voxel51_Blog-ff6d04?style=flat)](https://voxel51.com/blog) [![Newsletter](https://img.shields.io/badge/Newsletter-BE5B25?logo=mail.ru&logoColor=white)](https://share.hsforms.com/1zpJ60ggaQtOoVeBqIZdaaA2ykyk) [![LinkedIn](https://img.shields.io/badge/In-white?style=flat&label=Linked&labelColor=blue)](https://www.linkedin.com/company/voxel51) [![Twitter](https://img.shields.io/badge/Twitter-000000?logo=x&logoColor=white)](https://x.com/voxel51) [![Medium](https://img.shields.io/badge/Medium-12100E?logo=medium&logoColor=white)](https://medium.com/voxel51)

# 👋 你好! 我们创建了 **[FiftyOne](https://fiftyone.ai)**,以助力您的视觉AI开发,让您能够可视化与标注数据、评估模型,并以前所未有的效率最大化数据和模型的质量 🤝
##   安装   💻 步骤如下: ``` pip install fiftyone ```
更多详情 ### 安装选项 FiftyOne 支持 Python 3.10 - 3.12。 对于大多数用户,我们推荐使用 `pip` 安装最新发布版本的 FiftyOne,如上所示。 如果您想为 FiftyOne 贡献代码或安装最新的开发版本,您也可以执行[源码安装](#source-install)。 请参阅[前置条件章节](#prerequisites)以获取特定于系统的设置信息。 我们强烈建议您在[虚拟环境](https://docs.voxel51.com/installation/virtualenv.html)中安装 FiftyOne,以保持工作空间的整洁。 有关解决常见问题以及安装和运行 FiftyOne 的其他信息,请查阅[安装指南](https://docs.voxel51.com/installation/index.html)。
从源码安装 ### 源码安装 请按照以下说明从源码安装 FiftyOne 并构建应用程序。 您需要安装以下工具: - [Python](https://www.python.org) (3.10 - 3.12) - [Node.js](https://nodejs.org) - 在 Linux 上,我们建议使用 [nvm](https://github.com/nvm-sh/nvm) 来安装最新版本。 - [Yarn](https://yarnpkg.com) - Node.js 安装完成后,您可以通过运行 `corepack enable` 来[启用 Yarn](https://yarnpkg.com/getting-started/install)。 我们强烈建议您在[虚拟环境](https://docs.voxel51.com/installation/virtualenv.html)中安装 FiftyOne,以保持工作空间的整洁。 如果您在 Google Colab 中工作,请[跳转至此](#source-installs-in-google-colab)。 首先,克隆仓库: ``` git clone https://github.com/voxel51/fiftyone cd fiftyone ``` 然后运行安装脚本: ``` # Mac 或 Linux bash install.sh # Windows .\install.bat ``` 如果在导入 FiftyOne 时遇到问题,您可能需要将克隆的仓库路径添加到您的 `PYTHONPATH`: ``` export PYTHONPATH=$PYTHONPATH:/path/to/fiftyone ``` 请注意,安装脚本会修改您 `~/.bashrc` 或 `~/.bash_profile` 中的 `nvm` 设置,这对于安装和构建应用程序是必需的。 ### 升级源码安装 要将现有的源码安装升级到最新开发版本,只需拉取最新的 `develop` 分支并重新运行安装脚本: ``` git checkout develop git pull # Mac 或 Linux bash install.sh # Windows .\install.bat ``` ### 重新构建应用程序 当您拉取了应用程序的新更改时,需要重新构建它。您可以通过重新运行安装脚本或在 `./app` 目录下运行 `yarn build` 来完成。 ### 开发者安装 如果您希望[为 FiftyOne 做贡献](https://github.com/voxel51/fiftyone/blob/develop/CONTRIBUTING.md),应使用安装脚本的 `-d` 标志进行开发者安装: ``` # Mac 或 Linux bash install.sh -d # Windows .\install.bat -d ``` 虽然不是必需的,但开发者通常喜欢将其 FiftyOne 安装配置为连接到一个自行安装和管理的 MongoDB 实例,您可以按照[这些简单步骤](https://docs.voxel51.com/user_guide/config.html#configuring-a-mongodb-connection)进行操作。 ### 在 Google Colab 中进行源码安装 您可以在 [Google Colab](https://colab.research.google.com) 中从源码安装,只需在某个单元格中运行以下命令,然后**重启运行时**: ``` %%shell git clone --depth 1 https://github.com/voxel51/fiftyone.git cd fiftyone # Mac 或 Linux bash install.sh # Windows .\install.bat ``` ### 生成文档 有关构建和贡献文档的信息,请参阅[文档指南](https://github.com/voxel51/fiftyone/blob/develop/docs/README.md)。 ### 卸载 您可以按如下方式卸载 FiftyOne: ``` pip uninstall fiftyone fiftyone-brain fiftyone-db ```
新手前置条件 ### 系统特定设置 在[安装 FiftyOne](#installation) 之前,请按照您操作系统或环境的说明执行基本系统设置。 如果您是有经验的开发者,您可能已经完成了这些步骤。
Linux
#### 1. 安装 Python 和其他依赖项 以下步骤适用于全新安装的 Ubuntu Desktop 24.04,也应适用于 Ubuntu 24.04 和 22.04,以及 Ubuntu Server: ``` sudo apt-get update sudo apt-get upgrade sudo apt-get install python3-venv python3-dev build-essential git-all libgl1-mesa-dev ``` - 在 Linux 上,您至少需要 `openssl` 和 `libcurl` 包。 - 在基于 Debian 的发行版上,您需要安装 `libcurl4` 或 `libcurl3`,而不是 `libcurl`,具体取决于您的发行版版本。 ``` # Ubuntu sudo apt install libcurl4 openssl # Fedora sudo dnf install libcurl openssl ``` #### 2. 创建并激活虚拟环境 ``` python3 -m venv fiftyone_env source fiftyone_env/bin/activate ``` #### 3. 安装 FFmpeg(可选) 如果您计划处理视频数据集,则需要安装 [FFmpeg](https://ffmpeg.org): ``` sudo apt-get install ffmpeg ```
MacOS
#### 1. 安装 Xcode 命令行工具 ``` xcode-select --install ``` #### 2. 安装 Homebrew ``` /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` 运行上述命令后,请按照终端中的说明完成 Homebrew 的安装。 #### 3. 安装 Python ``` brew install python@3.10 brew install protobuf ``` #### 4. 创建并激活虚拟环境 ``` python3 -m venv fiftyone_env source fiftyone_env/bin/activate ``` #### 5. 安装 FFmpeg(可选) 如果您计划处理视频数据集,则需要安装 [FFmpeg](https://ffmpeg.org): ``` brew install ffmpeg ```
Windows
#### 1. 安装 Python ⚠️ **不推荐** 使用 Microsoft Store 中提供的 Python 版本 ⚠️ 从 [python.org](https://www.python.org/downloads/) 下载 Python 3.10 - 3.12 安装程序。请确保选择 64 位版本。例如,此 [Python 3.10.11 安装程序](https://www.python.org/ftp/python/3.10.11/python-3.10.11-amd64.exe)。 双击安装程序运行,并按照安装程序中的步骤操作。 - 勾选框将 Python 添加到您的 `PATH`。 - 在安装程序结束时,有一个选项可以禁用 `PATH` 长度限制。建议单击此选项。 #### 2. 安装 Microsoft Visual C++ 下载 [Microsoft Visual C++ Redistributable](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist)。 双击安装程序运行,并按照安装程序中的步骤操作。 #### 3. 安装 Git 从此链接下载 Git [此链接](https://git-scm.com/download/win)。双击安装程序运行,并按照安装程序中的步骤操作。 #### 4. 创建并激活虚拟环境 - 按 `Win + R`。输入 `cmd`,然后按 `Enter`。或者,在开始菜单中搜索 **命令提示符**。 - 导航到您的项目。`cd C:\path\to\your\project` - 创建环境 `python -m venv fiftyone_env` - 在命令行窗口中输入以下命令激活环境 `fiftyone_env\Scripts\activate` - 激活后,您的命令提示符应会更改并显示虚拟环境的名称 `(fiftyone_env) C:\path\to\your\project` #### 5. 安装 FFmpeg(可选) 如果您计划处理视频数据集,则需要安装 [FFmpeg](https://ffmpeg.org)。 从[此处](https://ffmpeg.org/download.html)下载 FFmpeg 二进制文件。将 FFmpeg 的路径(例如 `C:\ffmpeg\bin`)添加到您的 `PATH` 环境变量中。
Docker

请参阅[这些说明](https://docs.voxel51.com/environments/index.html#docker),了解如何构建和运行包含 FiftyOne 发布版或源码构建版的 Docker 镜像。
##   快速入门   🚀 通过打开 Python 解释器并运行以下代码片段来快速开始使用 FiftyOne,它会下载一个[小型数据集](https://docs.voxel51.com/user_guide/dataset_zoo/datasets.html#quickstart) 并启动 [FiftyOne App](https://docs.voxel51.com/user_guide/app.html) 以便您进行探索: ``` import fiftyone as fo import fiftyone.zoo as foz dataset = foz.load_zoo_dataset("quickstart") session = fo.launch_app(dataset) ``` 然后查看[这个 Colab 笔记本](https://colab.research.google.com/github/voxel51/fiftyone-examples/blob/master/examples/quickstart.ipynb),了解在快速入门数据集上的一些常见工作流程。 请注意,如果您在脚本中运行上述代码,则必须包含 `session.wait()` 以阻止执行,直到您关闭应用程序。更多信息请参阅[此页面](https://docs.voxel51.com/user_guide/app.html#creating-a-session)。
##   核心特性   🔑 - **[原生标注:](https://docs.voxel51.com/user_guide/annotation.html)** 直接在应用程序中创建和编辑 2D 和 3D 标签,或与您喜爱的标注工具集成——然后在一个平台上进行策展、质量检查和迭代。 https://github.com/user-attachments/assets/b06bcdac-d64f-4465-8668-12007dc0eeaa - **[可视化复杂数据集:](https://docs.voxel51.com/user_guide/app.html)** 在强大的可视化界面中轻松探索图像、视频和相关标签。 https://github.com/user-attachments/assets/9dc2db88-967d-43fa-bda0-85e4d5ab6a7a - **[探索嵌入向量:](https://docs.voxel51.com/user_guide/app.html#embeddings-panel)** 选择感兴趣的点并查看对应的样本/标签。 https://github.com/user-attachments/assets/246faeb7-dcab-4e01-9357-e50f6b106da7 - **[分析和改进模型:](https://docs.voxel51.com/user_guide/evaluation.html)** 评估模型性能,识别失败模式,并微调您的模型。 https://github.com/user-attachments/assets/8c32d6c4-51e7-4fea-9a3c-2ffd9690f5d6 - **[高级数据策展:](https://docs.voxel51.com/brain.html)** 快速查找并修复数据问题、标注错误和边界情况。 https://github.com/user-attachments/assets/24fa1960-c2dd-46ae-ae5f-d58b3b84cfe4 - **[丰富的集成:](https://docs.voxel51.com/integrations/index.html)** 可与 PyTorch、Hugging Face、Ultralytics 等流行的深度学习库配合使用。 https://github.com/user-attachments/assets/de5f25e1-a967-4362-9e04-616449e745e5 - **[开放且可扩展:](https://docs.voxel51.com/plugins/index.html)** 定制和扩展 FiftyOne 以满足您的特定需求。 https://github.com/user-attachments/assets/c7ed496d-0cf7-45d6-9853-e349f1abd6f8
##   文档   🪪 查看这些资源以开始使用 FiftyOne: | [入门指南](https://docs.voxel51.com/getting_started_guides/index.html) | [教程](https://docs.voxel51.com/tutorials/index.html) | [配方](https://docs.voxel51.com/recipes/index.html) | [用户指南](https://docs.voxel51.com/user_guide/index.html) | [示例](https://github.com/voxel51/fiftyone-examples) | [API 参考](https://docs.voxel51.com/api/fiftyone.html) | [CLI 参考](https://docs.voxel51.com/cli/index.html) | | --- | --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- | --- | 完整文档可在 [fiftyone.ai](https://fiftyone.ai) 上找到。
##   其他资源   🚁 | [FiftyOne Enterprise](https://voxel51.com/enterprise) | [构建插件](https://docs.voxel51.com/plugins/index.html) | [向量搜索](https://voxel51.com/blog/the-computer-vision-interface-for-vector-search) | [数据集动物园](https://docs.voxel51.com/dataset_zoo/index.html) | [模型动物园](https://docs.voxel51.com/model_zoo/index.html) | [FiftyOne Brain](https://docs.voxel51.com/brain.html) | [VoxelGPT](https://github.com/voxel51/voxelgpt) | | --- | --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- | --- |
##   FiftyOne Enterprise   🏎️ 希望在云中安全地协作处理数十亿样本,并连接到您的计算资源以自动化工作流程?请查看 [FiftyOne Enterprise](https://voxel51.com/enterprise)。
##   常见问题与故障排除   ⛓️‍💥 请参阅我们的[常见问题](https://docs.voxel51.com/installation/troubleshooting.html)页面以解决安装问题。如果问题仍未解决,请查看我们的[常见问题解答](https://docs.voxel51.com/faq/index.html)页面以获取更多答案。 如果您遇到上述资源无法解决的问题,请随时[在 GitHub 上提交问题](https://github.com/voxel51/fiftyone/issues)或在 [Discord](https://discord.gg/fiftyone-community) 上联系我们。
##   加入我们的社区   🤝 通过您偏好的渠道与我们联系: [![Discord](https://img.shields.io/badge/Discord-7289DA?logo=discord&logoColor=white)](https://discord.gg/fiftyone-community) [![Hugging Face](https://img.shields.io/badge/Hugging_Face-purple?style=flat&logo=huggingface)](https://huggingface.co/Voxel51) [![Newsletter](https://img.shields.io/badge/Newsletter-BE5B25?logo=mail.ru&logoColor=white)](https://share.hsforms.com/1zpJ60ggaQtOoVeBqIZdaaA2ykyk) [![LinkedIn](https://img.shields.io/badge/In-white?style=flat&label=Linked&labelColor=blue)](https://www.linkedin.com/company/voxel51) [![Medium](https://img.shields.io/badge/Medium-12100E?logo=medium&logoColor=white)](https://medium.com/voxel51) 🎊 **在社交媒体上分享 FiftyOne 如何让您的视觉 AI 项目成为现实,并使用 @Voxel51 和 #FiftyOne 标记我们** 🎊
##   贡献者   🧡 FiftyOne 和 [FiftyOne Brain](https://github.com/voxel51/fiftyone-brain) 是开源项目,欢迎社区贡献!请查看[贡献指南](https://github.com/voxel51/fiftyone/blob/develop/CONTRIBUTING.md)以了解如何参与。 特别感谢这些为 FiftyOne 做出贡献的杰出人士!
##   引用   📖 如果您在研究中使用了 FiftyOne,欢迎引用本项目(但仅当您喜欢它时 😊): ``` @article{moore2020fiftyone, title={FiftyOne}, author={Moore, B. E. and Corso, J. J.}, journal={GitHub. Note: https://github.com/voxel51/fiftyone}, year={2020} } ```
标签:Apex, Docker, MITM代理, Mutation, Python, 二进制发布, 人工智能, 可视化, 图像处理, 安全防御评估, 开源工具, 数据优化, 数据增强, 数据科学, 数据集管理, 无后门, 机器学习, 模型训练, 深度学习, 用户模式Hook绕过, 视觉AI模型, 计算机视觉, 请求拦截, 资源验证, 逆向工具, 高质量数据集