Skip to content

voxel51/fiftyone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

 

The open-source tool for building high-quality datasets and computer vision models


WebsiteDocsTry it NowTutorialsExamplesBlogCommunity

PyPI python PyPI version Downloads Docker Pulls License Discord Slack Medium Mailing list Twitter

👋 hey there!

We created FiftyOne to supercharge your visual AI projects by enabling you to visualize datasets, analyze models, and improve data quality more efficiently than ever before 🤝

If you're looking to scale to production-grade, collaborative, cloud-native enterprise workloads, check out FiftyOne Teams 🚀

------------------------------------------------------------------

  installation   💻

As simple as:

pip install fiftyone
More details

Installation options

FiftyOne supports Python 3.9 - 3.11.

For most users, we recommend installing the latest release version of FiftyOne via pip as shown above.

If you want to contribute to FiftyOne or install the latest development version, then you can also perform a source install.

See the prerequisites section for system-specific setup information.

We strongly recommend that you install FiftyOne in a virtual environment to maintain a clean workspace.

Consult the installation guide for troubleshooting and other information about getting up-and-running with FiftyOne.

Install from source

Source installations

Follow the instructions below to install FiftyOne from source and build the App.

You'll need the following tools installed:

  • Python (3.9 - 3.11)
  • Node.js - on Linux, we recommend using nvm to install an up-to-date version.
  • Yarn - once Node.js is installed, you can enable Yarn via corepack enable

We strongly recommend that you install FiftyOne in a virtual environment to maintain a clean workspace.

If you are working in Google Colab, skip to here.

First, clone the repository:

git clone https://github.com/voxel51/fiftyone
cd fiftyone

Then run the install script:

# Mac or Linux
bash install.bash

# Windows
.\install.bat

If you run into issues importing FiftyOne, you may need to add the path to the cloned repository to your PYTHONPATH:

export PYTHONPATH=$PYTHONPATH:/path/to/fiftyone

Note that the install script adds to your nvm settings in your ~/.bashrc or ~/.bash_profile, which is needed for installing and building the App.

Upgrading your source installation

To upgrade an existing source installation to the bleeding edge, simply pull the latest develop branch and rerun the install script:

git checkout develop
git pull

# Mac or Linux
bash install.bash

# Windows
.\install.bat

Rebuilding the App

When you pull in new changes to the App, you will need to rebuild it, which you can do either by rerunning the install script or just running yarn build in the ./app directory.

Developer installation

If you would like to contribute to FiftyOne, you should perform a developer installation using the -d flag of the install script:

# Mac or Linux
bash install.bash -d

# Windows
.\install.bat -d

Although not required, developers typically prefer to configure their FiftyOne installation to connect to a self-installed and managed instance of MongoDB, which you can do by following these simple steps.

Source installs in Google Colab

You can install from source in Google Colab by running the following in a cell and then restarting the runtime:

%%shell

git clone --depth 1 https://github.com/voxel51/fiftyone.git
cd fiftyone

# Mac or Linux
bash install.bash

# Windows
.\install.bat

Generating documentation

See the docs guide for information on building and contributing to the documentation.

Uninstallation

You can uninstall FiftyOne as follows:

pip uninstall fiftyone fiftyone-brain fiftyone-db
Prerequisites for beginners

System-specific setup

Follow the instructions for your operating system or environment to perform basic system setup before installing FiftyOne.

If you're an experienced developer, you've likely already done this.

Linux

1. Install Python and other dependencies

These steps work on a clean install of Ubuntu Desktop 24.04, and should also work on Ubuntu 24.04 and 22.04, and on 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
  • On Linux, you will need at least the openssl and libcurl packages
  • On Debian-based distributions, you will need to install libcurl4 or libcurl3 instead of libcurl, depending on the age of your distribution
# Ubuntu
sudo apt install libcurl4 openssl

# Fedora
sudo dnf install libcurl openssl

2. Create and activate a virtual environment

python3 -m venv fiftyone_env
source fiftyone_env/bin/activate

3. Install FFmpeg (optional)

If you plan to work with video datasets, you'll need to install FFmpeg:

sudo apt-get install ffmpeg
MacOS

1. Install Xcode Command Line Tools

xcode-select --install

2. Install Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

After running the above command, follow the instructions in your terminal to complete the Homebrew installation.

3. Install Python

brew install [email protected]
brew install protobuf

4. Create and activate a virtual nvironment

python3 -m venv fiftyone_env
source fiftyone_env/bin/activate

5. Install FFmpeg (optional)

If you plan to work with video datasets, you'll need to install FFmpeg:

brew install ffmpeg
Windows

1. Install Python

⚠️ The version of Python that is available in the Microsoft Store is not recommended ⚠️

Download a Python 3.9 - 3.11 installer from python.org. Make sure to pick a 64-bit version. For example, this Python 3.10.11 installer.

Double-click on the installer to run it, and follow the steps in the installer.

  • Check the box to add Python to your PATH
  • At the end of the installer, there is an option to disable the PATH length limit. It is recommended to click this

2. Install Microsoft Visual C++

Download Microsoft Visual C++ Redistributable. Double-click on the installer to run it, and follow the steps in the installer.

3. Install Git

Download Git from this link. Double-click on the installer to run it, and follow the steps in the installer.

4. Create and activate a virtual environment

  • Press Win + R. type cmd, and press Enter. Alternatively, search Command Prompt in the Start Menu.
  • Navigate to your project. cd C:\path\to\your\project
  • Create the environment python -m venv fiftyone_env
  • Activate the environment typing this in the command line window fiftyone_env\Scripts\activate
  • After activation, your command prompt should change and show the name of the virtual environment (fiftyon_env) C:\path\to\your\project

5. Install FFmpeg (optional)

If you plan to work with video datasets, you'll need to install FFmpeg.

Download an FFmpeg binary from here. Add FFmpeg's path (e.g., C:\ffmpeg\bin) to your PATH environmental variable.

Docker

Refer to these instructions to see how to build and run Docker images containing release or source builds of FiftyOne.

------------------------------------------------------------------

  quickstart   🚀

Dive right into FiftyOne by opening a Python shell and running the snippet below, which downloads a small dataset and launches the FiftyOne App so you can explore it:

import fiftyone as fo
import fiftyone.zoo as foz

dataset = foz.load_zoo_dataset("quickstart")
session = fo.launch_app(dataset)

Then check out this Colab notebook to see some common workflows on the quickstart dataset.

Note that if you are running the above code in a script, you must include session.wait() to block execution until you close the App. See this page for more information.

------------------------------------------------------------------

  key features   🔑

slicendice.mp4
embeddings.mp4
model_eval.mp4
compute_mistakenness.mp4
  • Rich Integrations: Works with popular deep learning libraries like PyTorch, Hugging Face, Ultralytics, and more.
similarity_search.mp4
dashboards.mp4

------------------------------------------------------------------

  documentation   🪪

Full documentation for FiftyOne is available at fiftyone.ai.

Tutorials Recipes Examples User Guide CLI Documentation API Reference

------------------------------------------------------------------

  FiftyOne Teams   🏎️

Want to securely collaborate on billions of samples in the cloud and connect to your compute resources to automate your workflows? Check out FiftyOne Teams.

------------------------------------------------------------------

  faq & troubleshooting   ⛓️‍💥

Refer to our common issues page to troubleshoot installation issues. If you're still stuck, check our frequently asked questions page for more answers.

If you encounter an issue that the above resources don't help you resolve, feel free to open an issue on GitHub or contact us on Slack or Discord.

------------------------------------------------------------------

  join our community   🤝

Connect with us through your preferred channels:

Discord Slack Medium Twitter LinkedIn Facebook

🎊 Share how FiftyOne makes your visual AI projects a reality on social media and tag us with @Voxel51 and #FiftyOne 🎊

------------------------------------------------------------------

  contributors   🧡

FiftyOne and FiftyOne Brain are open source and community contributions are welcome! Check out the contribution guide to learn how to get involved.

Special thanks to these amazing people for contributing to FiftyOne!

------------------------------------------------------------------

  citation   📖

If you use FiftyOne in your research, feel free to cite the project (but only if you love it 😊):

@article{moore2020fiftyone,
  title={FiftyOne},
  author={Moore, B. E. and Corso, J. J.},
  journal={GitHub. Note: https://github.com/voxel51/fiftyone},
  year={2020}
}