Leveraging CLI commands can be a powerful way to improve your workflow. We will do a quick dive on some powerful options FiftyOne provides that can save you time on your next computer vision project. Let's take a look:
!eval "$(register-python-argcomplete fiftyone)"
import fiftyone as fo
import fiftyone.zoo as foz
dataset = foz.load_zoo_dataset("quickstart")
dataset.persistent = True
Downloading dataset to '/home/dan/fiftyone/quickstart' Downloading dataset... 100% |████| 187.5Mb/187.5Mb [775.2ms elapsed, 0s remaining, 241.9Mb/s] Extracting dataset... Parsing dataset metadata Found 200 samples Dataset info written to '/home/dan/fiftyone/quickstart/info.json' Loading 'quickstart' 100% |█████████████████| 200/200 [2.1s elapsed, 0s remaining, 94.8 samples/s] Dataset 'quickstart' created
session = fo.launch_app(dataset)
!fiftyone datasets list
2023.08.24.12.07.07 evaluate-detections-tutorial malaria-cell-images malaria-cell-images2 open-images-v6-validation-200 quickstart tips+tricks tips_and_tricks
!fiftyone datasets info --sort-by created_at
name created_at last_loaded_at version persistent media_type tags num_samples ----------------------------- ------------------- ------------------- --------- ------------ ------------ ------ ------------- quickstart 2023-08-24 20:40:54 2023-08-24 20:41:01 0.21.6 ✓ image 200 tips_and_tricks 2023-08-24 18:47:00 2023-08-24 20:30:03 0.21.6 ✓ image 200 2023.08.24.12.07.07 2023-08-24 16:07:07 2023-08-24 16:09:21 0.21.6 ✓ image 15474 malaria-cell-images2 2023-08-21 20:59:22 2023-08-21 21:08:58 0.21.4 ✓ image 55120 open-images-v6-validation-200 2023-06-29 19:17:58 2023-08-24 17:44:21 0.21.6 ✓ image 200 malaria-cell-images 2023-06-29 15:32:21 2023-06-29 17:10:03 0.21.0 ✓ image 27558 evaluate-detections-tutorial 2023-06-28 20:27:39 2023-08-24 17:55:04 0.21.6 ✓ image 5005 tips+tricks ??? ??? ??? ??? ??? ??? ???
!fiftyone datasets delete NAME
Dataset '2023.08.24.11.30.28' deleted
# Delete all non-persistent datasets
!fiftyone datasets delete --non-persistent
!fiftyone datasets stats quickstart
key value ------------- ------- samples_count 200 samples_bytes 1270762 samples_size 1.2MB total_bytes 1270762 total_size 1.2MB
!fiftyone datasets info quickstart
Name: quickstart Media type: image Num samples: 200 Persistent: True Tags: [] Sample fields: id: fiftyone.core.fields.ObjectIdField filepath: fiftyone.core.fields.StringField tags: fiftyone.core.fields.ListField(fiftyone.core.fields.StringField) metadata: fiftyone.core.fields.EmbeddedDocumentField(fiftyone.core.metadata.ImageMetadata) ground_truth: fiftyone.core.fields.EmbeddedDocumentField(fiftyone.core.labels.Detections) uniqueness: fiftyone.core.fields.FloatField predictions: fiftyone.core.fields.EmbeddedDocumentField(fiftyone.core.labels.Detections)
!fiftyone datasets draw -d drawn_labels -f predictions quickstart
100% |█████████████████| 200/200 [19.7s elapsed, 0s remaining, 8.6 samples/s] Rendered media written to 'drawn_labels'
!fiftyone datasets rename quickstart tips_and_tricks
Dataset 'quickstart' renamed to 'tips_and_tricks'
!fiftyone plugins list
plugin version enabled directory -------- --------- --------- -----------
!fiftyone operators list
uri enabled builtin on_startup unlisted dynamic ------------------------------------------ --------- --------- ------------ ---------- --------- @voxel51/operators/clone_selected_samples ✓ ✓ ✓ @voxel51/operators/clone_sample_field ✓ ✓ ✓ @voxel51/operators/rename_sample_field ✓ ✓ ✓ @voxel51/operators/delete_selected_samples ✓ ✓ ✓ @voxel51/operators/delete_sample_field ✓ ✓ ✓ @voxel51/operators/print_stdout ✓ ✓ ✓
!fiftyone plugins download \
https://github.com/voxel51/fiftyone-plugins \
--plugin-names @voxel51/hello-world
Downloading voxel51/fiftyone-plugins... 311.4Mb [4.2s elapsed, ? remaining, 88.0Mb/s]
!fiftyone plugins disable @voxel51/hello-world
!fiftyone plugins enable @voxel51/hello-world
# Try it yourself!
session = fo.launch_app(dataset)
Could not connect session, trying again in 10 seconds