FiftyOne is growing! Sign up for the mailing list to learn about new features as they come out.
You will need a working Python installation. FiftyOne currently requires Python 3.6 - 3.9.
Although Python 3.9 is supported, note that some dependencies, notably
scikit-learn, will need to be built from source. Also
tensorflow does not yet support 3.9.
On Linux, we recommended installing Python through your system package manager
(APT, YUM, etc.) if it is available. On other platforms, Python can be
downloaded from python.org. To verify that
a suitable Python version is installed and accessible, run
We encourage installing FiftyOne in a virtual environment. See setting up a virtual environment for more details.
To install FiftyOne, ensure you have activated any virtual environment that you are using, then run:
pip install fiftyone
This will install FiftyOne and all of its dependencies, which may take some
time. Once this has completed, you can verify that FiftyOne is installed in
your virtual environment by importing the
$ python >>> >>> import fiftyone as fo >>>
A successful installation of FiftyOne should result in no output when
fiftyone is imported.
Dive right into FiftyOne by running the command below. It will download a small dataset, launch the App, and print some suggestions for exploring the dataset!
FiftyOne Desktop App¶
By default, the FiftyOne App will be opened in your web browser when you launch it.
However, we also provide a desktop version of the FiftyOne App that you can install as follows:
pip install fiftyone-desktop
If you run into any installation issues, review the suggestions below or check the troubleshooting page for more details.
Most installation issues can be fixed by upgrading some packages and then rerunning the FiftyOne install:
pip install --upgrade pip setuptools wheel pip install fiftyone
You must have the XCode Command Line Tools package installed on your machine. You likely already have it, but if you encounter an error message like
error: command 'clang' failed with exit status 1, then you may need to install it via
xcode-select --install, or see this page for other options.
psutilpackage may require Python headers to be installed on your system. On Debian-based distributions, these are available in the
If you encounter an error related to MongoDB failing to start, such as
Could not find mongod, you may need to install additional packages. See the troubleshooting page for details.
If you encounter errors related to missing
msvcp140.dll, you will need to install the 64-bit Visual Studio 2015 C++ redistributable library, available here (choose the x64 version).
Installing extra packages¶
Various tutorials and guides that we provide on this site require additional
packages in order to run. If you encounter a missing package, you will see
helpful instructions on what you need to install. Alternatively, you can
preemptively install what you’ll need by installing the following additional
pip in your virtual environment:
ipythonto follow along with interactive examples more easily (note that a system-wide IPython installation will not work in a virtual environment, even if it is accessible)
torchvisionfor examples requiring PyTorch. The installation process can vary depending on your system, so consult the PyTorch documentation for specific instructions.
tensorflowfor examples requiring TensorFlow. The installation process can vary depending on your system, so consult the Tensorflow documentation for specific instructions.
tensorflow-datasetsfor examples that rely on loading TensorFlow datasets
FiftyOne does not strictly require any of these packages, so you can install only what you need. If you run something that requires an additional package, you will see a helpful message telling you what to install.
You can upgrade an existing FiftyOne installation by passing the
pip install --upgrade fiftyone
New versions of FiftyOne occasionally introduce data model changes that require database migrations after you upgrade. Rest assured, these migrations will be automatically performed on a per-dataset basis whenever you load a dataset for the first time in a newer version of FiftyOne.
If you need to downgrade to an older version of FiftyOne for any reason, you can do so.
Since new releases occasionally introduce backwards-incompatible changes to the data model, we provide a fiftyone migrate command that can perform any necessary downward database migrations.
Here’s the workflow for downgrading to an older version of FiftyOne:
# The version that you wish to downgrade to VERSION=0.7.1 # for example # Migrate the database fiftyone migrate --all -v $VERSION # Verify that all of your datasets were migrated fiftyone migrate --info # Now install the older version of `fiftyone` pip install fiftyone==$VERSION
The fiftyone migrate command was introduced in FiftyOne v0.7.3. If you would like to downgrade from a FiftyOne version prior to v0.7.3 (to a yet older version), then you will first need to upgrade to v0.7.3 or later and then follow the instructions above.
To install a FiftyOne version prior to v0.7.0, you must add an
--index option to
pip install --index https://pypi.voxel51.com fiftyone==<version>
FiftyOne and all of its subpackages can be uninstalled with:
pip uninstall fiftyone fiftyone-brain fiftyone-db voxel51-eta
If you installed the optional desktop App, you can uninstall that via:
pip uninstall fiftyone-desktop