Build Status Coverage Code Style: Blue

FiftyOneImageAnnotations provides a Julia interface to the FiftyOne toolkit, that enables curating datasets, evaluating models, finding annotation mistakes, visualizing embeddings etc.


The embedded MongoDB process is left running after the Julia session is closed. Stop the process manually - or, preferable, use an external MongoDB instance.

The MongoDB process can be terminated using:

kill -3 `ps | grep fiftyone | grep -v service/ | grep mongod | cut -d " " -f 1`

This is somewhat unsafe: The MongoDB documentation says that signal 2/INT should be used, but it seems 3/QUIT actually works.


using FiftyOneImageAnnotations

foo_dataset = Dataset("foo")
Dataset("bar"; persistent = true)

list_datasets() # lists "foo" and "bar" datasets

bar_dataset = load_dataset("bar")

foo_dataset.persistent # false
bar_dataset.persistent # true



Importing an ImageAnnotations dataset

using FiftyOneImageAnnotations
using ImageAnnotations

dataset = ImageAnnotationDataSet(AnnotatedImage[]) # ImageAnnotationDataSet{Any}(Any[], AnnotatedImage[])

dataset_from_importer(ImageAnnotationDatasetImporter(dataset)) # FiftyOneImageAnnotations.Dataset


Installing FiftyOne can take a long time - disabling installation of dependencies with CondaPkg can speed up development significanly (once the dependencies are installed):

JULIA_CONDAPKG_BACKEND=Null JULIA_PYTHONCALL_EXE=`pwd`/.CondaPkg/env/bin/python julia --project