diff --git a/examples/create_dataset.py b/examples/create_dataset.py new file mode 100644 index 0000000..151169d --- /dev/null +++ b/examples/create_dataset.py @@ -0,0 +1,9 @@ +from pprint import pprint + +import fastlabel + +client = fastlabel.Client() + +dataset = client.create_dataset(name="object-detection", license="The MIT License") + +pprint(dataset) diff --git a/examples/create_dataset_object.py b/examples/create_dataset_object.py new file mode 100644 index 0000000..44a2a78 --- /dev/null +++ b/examples/create_dataset_object.py @@ -0,0 +1,12 @@ +from pprint import pprint + +import fastlabel + +client = fastlabel.Client() + +dataset_object = client.create_dataset_object( + dataset="YOUR_DATASET_NAME", + name="NAME", + file_path="FILE_PATH", +) +pprint(dataset_object) diff --git a/examples/create_image_task.py b/examples/create_image_task.py new file mode 100644 index 0000000..cab5402 --- /dev/null +++ b/examples/create_image_task.py @@ -0,0 +1,28 @@ +from pprint import pprint + +import fastlabel + +# Initialize client +client = fastlabel.Client() + +project = "YOUR_PROJECT_SLUG" +name = "YOUR_DATA_NAME" +file_path = "YOUR_DATA_FILE_PATH" # e.g.) ./cat.jpg +annotations = [ + { + "type": "bbox", + "value": "cat", + "attributes": [{"key": "kind", "value": "Scottish field"}], + "points": [ + 100, # top-left x + 100, # top-left y + 200, # bottom-right x + 200, # bottom-right y + ], + } +] + +task_id = client.create_image_task( + project=project, name=name, file_path=file_path, annotations=annotations +) +pprint(task_id) diff --git a/examples/delete_dataset.py b/examples/delete_dataset.py new file mode 100644 index 0000000..0f2a7b3 --- /dev/null +++ b/examples/delete_dataset.py @@ -0,0 +1,5 @@ +import fastlabel + +client = fastlabel.Client() + +client.delete_dataset(dataset_id="YOUR_DATASET_ID") diff --git a/examples/delete_dataset_object.py b/examples/delete_dataset_object.py new file mode 100644 index 0000000..af52203 --- /dev/null +++ b/examples/delete_dataset_object.py @@ -0,0 +1,7 @@ +import fastlabel + +client = fastlabel.Client() + +client.delete_dataset_object( + dataset_id="YOUR_DATASET_OBJECT_ID", object_name="YOUR_OBJECT_NAME" +) diff --git a/examples/download_dataset_objects.py b/examples/download_dataset_objects.py new file mode 100644 index 0000000..e5880ab --- /dev/null +++ b/examples/download_dataset_objects.py @@ -0,0 +1,7 @@ +import fastlabel + +client = fastlabel.Client() + +client.download_dataset_objects( + dataset="object-detection", path="./downloads", types=["train", "valid"] +) diff --git a/examples/download_images.py b/examples/download_images.py new file mode 100644 index 0000000..4b47902 --- /dev/null +++ b/examples/download_images.py @@ -0,0 +1,42 @@ +import os +import time +import urllib.request +from multiprocessing import Pool, cpu_count + +import fastlabel + +client = fastlabel.Client() +IMAGE_DIR = "images" +PROJECT_SLUG = "YOUR_PROJECT_SLUG" + + +def get_all_tasks() -> list: + # Iterate pages until new tasks are empty. + all_tasks = [] + offset = None + while True: + time.sleep(1) + + tasks = client.get_image_classification_tasks( + project=PROJECT_SLUG, limit=1000, offset=offset + ) + all_tasks.extend(tasks) + + if len(tasks) > 0: + offset = len(all_tasks) # Set the offset + else: + break + + return all_tasks + + +def download_image(task: dict): + urllib.request.urlretrieve(task["url"], os.path.join(IMAGE_DIR, task["name"])) + + +if __name__ == "__main__": + os.makedirs(IMAGE_DIR, exist_ok=True) + + tasks = get_all_tasks() + with Pool(cpu_count()) as p: + p.map(download_image, tasks) diff --git a/examples/find_dataset.py b/examples/find_dataset.py new file mode 100644 index 0000000..9ff320f --- /dev/null +++ b/examples/find_dataset.py @@ -0,0 +1,8 @@ +from pprint import pprint + +import fastlabel + +client = fastlabel.Client() + +dataset = client.find_dataset(dataset_id="YOUR_DATASET_ID") +pprint(dataset) diff --git a/examples/find_dataset_object.py b/examples/find_dataset_object.py new file mode 100644 index 0000000..9b7502c --- /dev/null +++ b/examples/find_dataset_object.py @@ -0,0 +1,10 @@ +from pprint import pprint + +import fastlabel + +client = fastlabel.Client() + +dataset_object = client.find_dataset_object( + dataset_id="YOUR_DATASET_OBJECT_ID", object_name="YOUR_OBJECT_NAME" +) +pprint(dataset_object) diff --git a/examples/get_dataset_objects.py b/examples/get_dataset_objects.py new file mode 100644 index 0000000..623b1b7 --- /dev/null +++ b/examples/get_dataset_objects.py @@ -0,0 +1,8 @@ +from pprint import pprint + +import fastlabel + +client = fastlabel.Client() + +dataset_objects = client.get_dataset_objects(dataset="YOUR_DATASET_NAME") +pprint(dataset_objects) diff --git a/examples/get_datasets.py b/examples/get_datasets.py new file mode 100644 index 0000000..6c75f32 --- /dev/null +++ b/examples/get_datasets.py @@ -0,0 +1,8 @@ +from pprint import pprint + +import fastlabel + +client = fastlabel.Client() + +datasets = client.get_datasets() +pprint(datasets) diff --git a/examples/update_dataset.py b/examples/update_dataset.py new file mode 100644 index 0000000..d1070b4 --- /dev/null +++ b/examples/update_dataset.py @@ -0,0 +1,8 @@ +from pprint import pprint + +import fastlabel + +client = fastlabel.Client() + +dataset = client.update_dataset(dataset_id="YOUR_DATASET_ID", name="object-detection") +pprint(dataset)