FiftyOne: Explore, Analyze and Curate Visual Datasets
FiftyOne is an open source machine learning tool created by Voxel51 that helps you rapidly experiment with your data and ML models.
With FiftyOne, you can search, sort, filter, visualize, analyze, and improve your datasets without excess wrangling or writing custom scripts. It also provides powerful functionality for analyzing your models, allowing you to understand their strengths and weaknesses, visualize, diagnose, and correct their failure modes, and more. FiftyOne is designed to be lightweight and easily integrate into your existing CV/ML workflows.
Join the FiftyOne Slack Community to collaborate with other users, get support, and stay up-to-date on all things FiftyOne.
Follow us on Medium for regular posts on computer vision, machine learning, and data science topics.
You can also follow us on social media ( ).
You can install the latest stable version of FiftyOne via pip
:
pip install fiftyone
Consult the installation guide for troubleshooting and other information about getting up-and-running with FiftyOne.
Dive right into FiftyOne by launching the quickstart:
fiftyone quickstart
This command will download a small dataset, launch the App, and print some suggestions for exploring the dataset.
Next, check out this walkthrough for a more detailed overview of using FiftyOne.
Full documentation for FiftyOne is available online. In particular, see these resources:
Check out the fiftyone-examples repository for open source and community-contributed examples of using FiftyOne.
FiftyOne is open source and community contributions are welcome!
Check out the contribution guide to learn how to get involved.
This section explains how to install the latest development version of FiftyOne from source.
The instructions below are for macOS and Linux systems. Windows users may need to make adjustments.
You will need:
- Python (3.6 or newer)
- Node.js - on Linux, we recommend using nvm to install an up-to-date version.
- Yarn - once Node.js is installed, you can install
Yarn via
npm install -g yarn
- On Linux, you will need at least the
openssl
andlibcurl
packages. On Debian-based distributions, you will need to installlibcurl4
orlibcurl3
instead oflibcurl
, depending on the age of your distribution. For example:
# Ubuntu 18.04
sudo apt install libcurl4 openssl
# Fedora 32
sudo dnf install libcurl openssl
We strongly recommend that you install FiftyOne in a virtual environment to maintain a clean workspace. The install script is only supported in POSIX-based systems (e.g. Mac and Linux).
- Clone the repository:
git clone --recursive https://github.com/voxel51/fiftyone
cd fiftyone
- Run the installation script:
bash install.bash
NOTE: The install script adds to your nvm
settings in your ~/.bashrc
or
~/.bash_profile
, which is needed for installing and building the App. When
you pull in new changes to the App, you will need to run yarn build-web
in
the ./app
directory.
- If you want to use the
fiftyone.brain
package, you will need to install it separately after installing FiftyOne:
pip install fiftyone-brain
Installing FiftyOne from source includes an ETA lite installation, which should be sufficient for most users. If you want a full ETA installation, or wish to otherwise customize your ETA installation, see here.
If you would like to contribute to FiftyOne, you should
perform a developer installation using the -d
flag of the install script:
bash install.bash -d
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
bash install.bash [-d]
See the docs guide for information on building and contributing to the documentation.
You can uninstall FiftyOne as follows:
pip uninstall fiftyone fiftyone-brain fiftyone-db fiftyone-desktop