/fiftyone

FiftyOne: a powerful package for dataset curation, analysis, and visualization

Primary LanguagePythonApache License 2.0Apache-2.0

FiftyOne: Explore, Analyze and Curate Visual Datasets

FiftyOne

FiftyOne is an open-source machine learning tool that helps you get closer to your data. With FiftyOne, you can rapidly experiment with your datasets, enabling you to search, sort, filter, visualize, analyze, and improve your datasets without wrangling or writing custom scripts for every new dataset you collect. FiftyOne is designed to be lightweight and easily integrate into your existing CV/ML workflows.

To stay up-to-date on all things FiftyOne, collaborate with other users, and get support from the Voxel51 team, join the FiftyOne Slack Community.

Follow us on Medium for regular posts on computer vision, machine learning, and data science topics.

You can also follow us on social media ( ).

Installation

You can install the latest stable version of FiftyOne via pip:

pip install --index https://pypi.voxel51.com fiftyone

FiftyOne requires at least Python 3.5 and pip 19.3. Consult the installation guide for troubleshooting and other information about getting up-and-running with FiftyOne.

Quickstart

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.

Documentation

Full documentation for FiftyOne is available online. In particular, see these resources:

Contributing to FiftyOne

FiftyOne is open source and community contributions are welcome!

Check out the contribution guide to learn how to get involved.

Installing from source

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.

Prerequisites

You will need:

  • Python (3.5 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 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. For example:
# Ubuntu 18.04
sudo apt install libcurl4 openssl

# Fedora 32
sudo dnf install libcurl openssl

Installation

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

  1. Clone the repository:
git clone --recursive https://github.com/voxel51/fiftyone
cd fiftyone
  1. Run the installation script:
bash install.bash
  1. If you want to use the fiftyone.brain package, you will need to install it separately after installing FiftyOne:
pip install --index https://pypi.voxel51.com fiftyone-brain

Customizing your ETA installation

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.

Developer installation

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

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
bash install.bash [-d]

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 fiftyone-gui

Copyright

Copyright 2017-2020, Voxel51, Inc.
voxel51.com