From d76bcd9ab69e3b3e3789950b3d5c7820316fd99f Mon Sep 17 00:00:00 2001 From: Gabefire <33893811+Gabefire@users.noreply.github.com> Date: Wed, 24 Jul 2024 11:24:43 -0500 Subject: [PATCH 01/11] test workflow --- basics/custom_embeddings.ipynb | 303 ++++++++++++++++++++++----------- 1 file changed, 203 insertions(+), 100 deletions(-) diff --git a/basics/custom_embeddings.ipynb b/basics/custom_embeddings.ipynb index 4c483ba..b7246a8 100644 --- a/basics/custom_embeddings.ipynb +++ b/basics/custom_embeddings.ipynb @@ -1,18 +1,16 @@ { - "nbformat": 4, - "nbformat_minor": 0, - "metadata": {}, "cells": [ { + "cell_type": "markdown", "metadata": {}, "source": [ - "", - " ", + "\n", + " \n", "\n" - ], - "cell_type": "markdown" + ] }, { + "cell_type": "markdown", "metadata": {}, "source": [ "\n", @@ -24,263 +22,368 @@ "\n", "" - ], - "cell_type": "markdown" + ] }, { + "cell_type": "markdown", "metadata": {}, "source": [ "# Custom Embeddings\n", "\n", "You can improve your data exploration and similarity search experience by adding your own custom embeddings. Labelbox allows you to upload up to 10 different custom embeddings per workspace on any kind of data. You can experiment with different embeddings to power your data selection." - ], - "cell_type": "markdown" + ] }, { + "cell_type": "markdown", "metadata": {}, "source": [ "# Set up " - ], - "cell_type": "markdown" + ] }, { - "metadata": {}, - "source": "%pip install -q --upgrade \"labelbox[data]\"", "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], - "execution_count": null + "source": [ + "%pip install -q --upgrade \"labelbox[data]\"\n", + "\n", + "\"test\"" + ] }, { - "metadata": {}, - "source": "import labelbox as lb\nimport numpy as np\nimport json\nimport uuid\nimport random", "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], - "execution_count": null + "source": [ + "import labelbox as lb\n", + "import numpy as np\n", + "import json\n", + "import uuid\n", + "import random" + ] }, { + "cell_type": "markdown", "metadata": {}, "source": [ "# Replace with your API key" - ], - "cell_type": "markdown" + ] }, { - "metadata": {}, - "source": "API_KEY = \"\"\nclient = lb.Client(API_KEY)", "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], - "execution_count": null + "source": [ + "API_KEY = \"\"\n", + "client = lb.Client(API_KEY)" + ] }, { + "cell_type": "markdown", "metadata": {}, "source": [ "# Select data rows" - ], - "cell_type": "markdown" + ] }, { + "cell_type": "markdown", "metadata": {}, "source": [ "- Get images from a Labelbox dataset\n", "- To improve similarity search, you need to upload custom embeddings to at least 1,000 data rows.\n" - ], - "cell_type": "markdown" + ] }, { - "metadata": {}, - "source": "DATASET_ID = \"\"", "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], - "execution_count": null + "source": [ + "DATASET_ID = \"\"" + ] }, { - "metadata": {}, - "source": "dataset = client.get_dataset(dataset_id=DATASET_ID)\nexport_task = dataset.export()\nexport_task.wait_till_done()", "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], - "execution_count": null + "source": [ + "dataset = client.get_dataset(dataset_id=DATASET_ID)\n", + "export_task = dataset.export()\n", + "export_task.wait_till_done()" + ] }, { - "metadata": {}, - "source": "data_rows = []\n\n\ndef json_stream_handler(output: lb.BufferedJsonConverterOutput):\n data_row = output.json\n data_rows.append(data_row)\n\n\nif export_task.has_errors():\n export_task.get_buffered_stream(stream_type=lb.StreamType.ERRORS).start(\n stream_handler=lambda error: print(error))\n\nif export_task.has_result():\n export_json = export_task.get_buffered_stream(\n stream_type=lb.StreamType.RESULT).start(\n stream_handler=json_stream_handler)", "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], - "execution_count": null + "source": [ + "data_rows = []\n", + "\n", + "\n", + "def json_stream_handler(output: lb.BufferedJsonConverterOutput):\n", + " data_row = output.json\n", + " data_rows.append(data_row)\n", + "\n", + "\n", + "if export_task.has_errors():\n", + " export_task.get_buffered_stream(stream_type=lb.StreamType.ERRORS).start(\n", + " stream_handler=lambda error: print(error))\n", + "\n", + "if export_task.has_result():\n", + " export_json = export_task.get_buffered_stream(\n", + " stream_type=lb.StreamType.RESULT).start(\n", + " stream_handler=json_stream_handler)" + ] }, { - "metadata": {}, - "source": "data_row_dict = [{\"data_row_id\": dr[\"data_row\"][\"id\"]} for dr in data_rows]\ndata_row_dict = data_row_dict[:\n 1000] # keep the first 1000 examples for the sake of this demo", "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], - "execution_count": null + "source": [ + "data_row_dict = [{\"data_row_id\": dr[\"data_row\"][\"id\"]} for dr in data_rows]\n", + "data_row_dict = data_row_dict[:\n", + " 1000] # keep the first 1000 examples for the sake of this demo" + ] }, { + "cell_type": "markdown", "metadata": {}, "source": [ "# Create custom embedding payload " - ], - "cell_type": "markdown" + ] }, { + "cell_type": "markdown", "metadata": {}, "source": [ "Generate random vectors for embeddings (max : 2048 dimensions)" - ], - "cell_type": "markdown" + ] }, { - "metadata": {}, - "source": "nb_data_rows = len(data_row_dict)\nprint(\"Number of data rows: \", nb_data_rows)\n# Labelbox supports custom embedding vectors of dimension up to 2048\ncustom_embeddings = [list(np.random.random(2048)) for _ in range(nb_data_rows)]", "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], - "execution_count": null + "source": [ + "nb_data_rows = len(data_row_dict)\n", + "print(\"Number of data rows: \", nb_data_rows)\n", + "# Labelbox supports custom embedding vectors of dimension up to 2048\n", + "custom_embeddings = [list(np.random.random(2048)) for _ in range(nb_data_rows)]" + ] }, { + "cell_type": "markdown", "metadata": {}, "source": [ "List all custom embeddings available in your Labelbox workspace" - ], - "cell_type": "markdown" + ] }, { - "metadata": {}, - "source": "embeddings = client.get_embeddings()", "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], - "execution_count": null + "source": [ + "embeddings = client.get_embeddings()" + ] }, { + "cell_type": "markdown", "metadata": {}, "source": [ "Choose an existing embedding type or create a new one" - ], - "cell_type": "markdown" + ] }, { - "metadata": {}, - "source": "# Name of the custom embedding must be unique\nembedding = client.create_embedding(\"my_custom_embedding_2048_dimensions\", 2048)", "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], - "execution_count": null + "source": [ + "# Name of the custom embedding must be unique\n", + "embedding = client.create_embedding(\"my_custom_embedding_2048_dimensions\", 2048)" + ] }, { + "cell_type": "markdown", "metadata": {}, "source": [ "Create payload" - ], - "cell_type": "markdown" + ] }, { + "cell_type": "markdown", "metadata": {}, "source": [ "The payload should encompass the `key` (data row id or global key) and the new embedding vector data. Note that the `dataset.upsert_data_rows()` operation will only update the values you pass in the payload; all other existing row data will not be modified." - ], - "cell_type": "markdown" + ] }, { - "metadata": {}, - "source": "payload = []\nfor data_row_dict, custom_embedding in zip(data_row_dict, custom_embeddings):\n payload.append({\n \"key\":\n lb.UniqueId(data_row_dict[\"data_row_id\"]),\n \"embeddings\": [{\n \"embedding_id\": embedding.id,\n \"vector\": custom_embedding\n }],\n })\n\nprint(\"payload\", len(payload), payload[:1])", "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], - "execution_count": null + "source": [ + "payload = []\n", + "for data_row_dict, custom_embedding in zip(data_row_dict, custom_embeddings):\n", + " payload.append({\n", + " \"key\":\n", + " lb.UniqueId(data_row_dict[\"data_row_id\"]),\n", + " \"embeddings\": [{\n", + " \"embedding_id\": embedding.id,\n", + " \"vector\": custom_embedding\n", + " }],\n", + " })\n", + "\n", + "print(\"payload\", len(payload), payload[:1])" + ] }, { + "cell_type": "markdown", "metadata": {}, "source": [ "# Upload payload" - ], - "cell_type": "markdown" + ] }, { + "cell_type": "markdown", "metadata": {}, "source": [ "Upsert data rows with custom embeddings" - ], - "cell_type": "markdown" + ] }, { - "metadata": {}, - "source": "task = dataset.upsert_data_rows(payload)\ntask.wait_till_done()\nprint(task.errors)\nprint(task.status)", "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], - "execution_count": null + "source": [ + "task = dataset.upsert_data_rows(payload)\n", + "task.wait_till_done()\n", + "print(task.errors)\n", + "print(task.status)" + ] }, { + "cell_type": "markdown", "metadata": {}, "source": [ "Get the count of imported vectors for a custom embedding" - ], - "cell_type": "markdown" + ] }, { - "metadata": {}, - "source": "# Count how many data rows have a specific custom embedding (this can take a couple of minutes)\ncount = embedding.get_imported_vector_count()\nprint(count)", "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], - "execution_count": null + "source": [ + "# Count how many data rows have a specific custom embedding (this can take a couple of minutes)\n", + "count = embedding.get_imported_vector_count()\n", + "print(count)" + ] }, { + "cell_type": "markdown", "metadata": {}, "source": [ "Delete custom embedding type" - ], - "cell_type": "markdown" + ] }, { - "metadata": {}, - "source": "# embedding.delete()", "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], - "execution_count": null + "source": [ + "# embedding.delete()" + ] }, { + "cell_type": "markdown", "metadata": {}, "source": [ "# Upload custom embeddings during data row creation" - ], - "cell_type": "markdown" + ] }, { + "cell_type": "markdown", "metadata": {}, "source": [ "Create a dataset" - ], - "cell_type": "markdown" + ] }, { - "metadata": {}, - "source": "# Create a dataset\ndataset_new = client.create_dataset(name=\"data_rows_with_embeddings\")", "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], - "execution_count": null + "source": [ + "# Create a dataset\n", + "dataset_new = client.create_dataset(name=\"data_rows_with_embeddings\")" + ] }, { + "cell_type": "markdown", "metadata": {}, "source": [ "Fetch an embedding (2048 dimension)" - ], - "cell_type": "markdown" + ] }, { - "metadata": {}, - "source": "embedding = client.get_embedding_by_name(\"my_custom_embedding_2048_dimensions\")\nvector = [random.uniform(1.0, 2.0) for _ in range(embedding.dims)]", "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], - "execution_count": null + "source": [ + "embedding = client.get_embedding_by_name(\"my_custom_embedding_2048_dimensions\")\n", + "vector = [random.uniform(1.0, 2.0) for _ in range(embedding.dims)]" + ] }, { + "cell_type": "markdown", "metadata": {}, "source": [ "Upload data rows with embeddings" - ], - "cell_type": "markdown" + ] }, { - "metadata": {}, - "source": "uploads = []\n# Generate data rows\nfor i in range(1, 9):\n uploads.append({\n \"row_data\":\n f\"https://storage.googleapis.com/labelbox-datasets/People_Clothing_Segmentation/jpeg_images/IMAGES/img_000{i}.jpeg\",\n \"global_key\":\n \"TEST-ID-%id\" % uuid.uuid1(),\n \"embeddings\": [{\n \"embedding_id\": embedding.id,\n \"vector\": vector\n }],\n })\n\ntask1 = dataset_new.create_data_rows(uploads)\ntask1.wait_till_done()\nprint(\"ERRORS: \", task1.errors)\nprint(\"RESULTS:\", task1.result)", "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], - "execution_count": null + "source": [ + "uploads = []\n", + "# Generate data rows\n", + "for i in range(1, 9):\n", + " uploads.append({\n", + " \"row_data\":\n", + " f\"https://storage.googleapis.com/labelbox-datasets/People_Clothing_Segmentation/jpeg_images/IMAGES/img_000{i}.jpeg\",\n", + " \"global_key\":\n", + " \"TEST-ID-%id\" % uuid.uuid1(),\n", + " \"embeddings\": [{\n", + " \"embedding_id\": embedding.id,\n", + " \"vector\": vector\n", + " }],\n", + " })\n", + "\n", + "task1 = dataset_new.create_data_rows(uploads)\n", + "task1.wait_till_done()\n", + "print(\"ERRORS: \", task1.errors)\n", + "print(\"RESULTS:\", task1.result)" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" } - ] -} \ No newline at end of file + }, + "nbformat": 4, + "nbformat_minor": 0 +} From 2600c994228f8499be52137ae0669709f0aa58be Mon Sep 17 00:00:00 2001 From: Gabefire <33893811+Gabefire@users.noreply.github.com> Date: Wed, 24 Jul 2024 11:25:44 -0500 Subject: [PATCH 02/11] made adjustment --- .github/workflows/notebooks.yml | 4 ++-- .github/workflows/rdme-custompages.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/notebooks.yml b/.github/workflows/notebooks.yml index 407490b..26f1281 100644 --- a/.github/workflows/notebooks.yml +++ b/.github/workflows/notebooks.yml @@ -2,9 +2,9 @@ name: Labelbox Example Notebook Workflow on: push: - branches: [develop] + branches: [main] pull_request: - branches: [develop] + branches: [main] permissions: contents: write diff --git a/.github/workflows/rdme-custompages.yml b/.github/workflows/rdme-custompages.yml index 1735386..0f8889c 100644 --- a/.github/workflows/rdme-custompages.yml +++ b/.github/workflows/rdme-custompages.yml @@ -2,7 +2,7 @@ name: ReadMe GitHub Action 🦉 on: pull_request: - branches: [develop] + branches: [main] types: - closed paths: From 662c8504e12eaad9ad044ff2735045831a76a01d Mon Sep 17 00:00:00 2001 From: Gabefire <33893811+Gabefire@users.noreply.github.com> Date: Wed, 24 Jul 2024 11:27:24 -0500 Subject: [PATCH 03/11] fixed --- .github/{python-package-shared-setup => actions}/action.yml | 0 .github/workflows/notebooks.yml | 4 ++-- .github/workflows/rdme-custompages.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename .github/{python-package-shared-setup => actions}/action.yml (100%) diff --git a/.github/python-package-shared-setup/action.yml b/.github/actions/action.yml similarity index 100% rename from .github/python-package-shared-setup/action.yml rename to .github/actions/action.yml diff --git a/.github/workflows/notebooks.yml b/.github/workflows/notebooks.yml index 26f1281..2683574 100644 --- a/.github/workflows/notebooks.yml +++ b/.github/workflows/notebooks.yml @@ -20,7 +20,7 @@ jobs: with: ref: ${{ github.head_ref }} fetch-depth: 0 - - uses: ./.github/actions/python-package-shared-setup + - uses: ./.github/actions with: python-version: 3.12 - name: Format @@ -60,7 +60,7 @@ jobs: with: ref: ${{ github.head_ref }} fetch-depth: 0 - - uses: ./.github/actions/python-package-shared-setup + - uses: ./.github/actions with: python-version: 3.12 - name: Create readme diff --git a/.github/workflows/rdme-custompages.yml b/.github/workflows/rdme-custompages.yml index 0f8889c..5bbad40 100644 --- a/.github/workflows/rdme-custompages.yml +++ b/.github/workflows/rdme-custompages.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: ./.github/actions/python-package-shared-setup + - uses: ./.github/actions with: python-version: 3.12 - name: Create readme From cf3d2b672a7095617e68a9cf44bfb9a576719e4d Mon Sep 17 00:00:00 2001 From: Gabefire <33893811+Gabefire@users.noreply.github.com> Date: Wed, 24 Jul 2024 11:28:07 -0500 Subject: [PATCH 04/11] added sync file --- requirements-dev.lock | 114 ++++++++++++++++++++++++++++++++++++++++++ requirements.lock | 9 ++++ 2 files changed, 123 insertions(+) create mode 100644 requirements-dev.lock create mode 100644 requirements.lock diff --git a/requirements-dev.lock b/requirements-dev.lock new file mode 100644 index 0000000..4ade9b9 --- /dev/null +++ b/requirements-dev.lock @@ -0,0 +1,114 @@ +# generated by rye +# use `rye lock` or `rye sync` to update this lockfile +# +# last locked with the following flags: +# pre: false +# features: [] +# all-features: false +# with-sources: false + +annotated-types==0.7.0 + # via pydantic +appnope==0.1.4 + # via ipython +asttokens==2.4.1 + # via stack-data +backcall==0.2.0 + # via ipython +black==24.4.2 +click==8.1.7 + # via black + # via typer +commonmark==0.9.1 + # via rich +databooks==1.3.10 +decorator==5.1.1 + # via ipython +executing==2.0.1 + # via stack-data +gitdb==4.0.11 + # via gitpython +gitpython==3.1.43 + # via databooks +importlib-metadata==8.2.0 + # via yapf +ipython==8.12.3 + # via black +jedi==0.19.1 + # via ipython +matplotlib-inline==0.1.7 + # via ipython +mypy-extensions==1.0.0 + # via black +numpy==1.24.4 + # via pandas +packaging==24.1 + # via black +pandas==2.0.3 +parso==0.8.4 + # via jedi +pathspec==0.12.1 + # via black +pexpect==4.9.0 + # via ipython +pickleshare==0.7.5 + # via ipython +platformdirs==4.2.2 + # via black + # via yapf +prompt-toolkit==3.0.47 + # via ipython +ptyprocess==0.7.0 + # via pexpect +pure-eval==0.2.3 + # via stack-data +pydantic==2.8.2 + # via databooks +pydantic-core==2.20.1 + # via pydantic +pygments==2.18.0 + # via ipython + # via rich +python-dateutil==2.9.0.post0 + # via pandas +pytz==2024.1 + # via pandas +rich==12.6.0 + # via databooks + # via typer +shellingham==1.5.4 + # via typer +six==1.16.0 + # via asttokens + # via python-dateutil +smmap==5.0.1 + # via gitdb +stack-data==0.6.3 + # via ipython +tokenize-rt==5.2.0 + # via black +tomli==2.0.1 + # via black + # via databooks + # via yapf +traitlets==5.14.3 + # via ipython + # via matplotlib-inline +typer==0.12.3 + # via databooks +typing-extensions==4.12.2 + # via annotated-types + # via black + # via databooks + # via ipython + # via pydantic + # via pydantic-core + # via rich + # via typer +tzdata==2024.1 + # via pandas +wcwidth==0.2.13 + # via prompt-toolkit +yapf==0.40.2 +zipp==3.19.2 + # via importlib-metadata diff --git a/requirements.lock b/requirements.lock new file mode 100644 index 0000000..cb7b7d0 --- /dev/null +++ b/requirements.lock @@ -0,0 +1,9 @@ +# generated by rye +# use `rye lock` or `rye sync` to update this lockfile +# +# last locked with the following flags: +# pre: false +# features: [] +# all-features: false +# with-sources: false + From 2828604abadb0bc252194ee1ba1567fd3591ca79 Mon Sep 17 00:00:00 2001 From: Gabefire <33893811+Gabefire@users.noreply.github.com> Date: Wed, 24 Jul 2024 11:36:38 -0500 Subject: [PATCH 05/11] testing --- pyproject.toml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 94147b5..edb383e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,6 +15,11 @@ Tutorials = "https://docs.labelbox.com/page/tutorials" Repository = "https://github.com/Labelbox/labelbox-python/examples" Issues = "https://github.com/Labelbox/labelbox-python/issues" +[tool.setuptools.packages.find] +where = ["."] +include = ["*"] +namespaces = true + [tool.rye] managed = true virtual = true From 5b76f46077a0f5f54e8ecd1ffacd3d7237edd7d7 Mon Sep 17 00:00:00 2001 From: Gabefire <33893811+Gabefire@users.noreply.github.com> Date: Wed, 24 Jul 2024 11:46:20 -0500 Subject: [PATCH 06/11] test --- pyproject.toml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index edb383e..3b5d12a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,16 +12,9 @@ dependencies = [] Homepage = "https://labelbox.com/" Documentation = "https://docs.labelbox.com/" Tutorials = "https://docs.labelbox.com/page/tutorials" -Repository = "https://github.com/Labelbox/labelbox-python/examples" -Issues = "https://github.com/Labelbox/labelbox-python/issues" - -[tool.setuptools.packages.find] -where = ["."] -include = ["*"] -namespaces = true +Repository = "https://github.com/Labelbox/labelbox-notebooks" [tool.rye] -managed = true virtual = true dev-dependencies = [ "yapf>=0.40.2", From 1e1a71b80e2b4ed31ca2148b3589f067867bc15b Mon Sep 17 00:00:00 2001 From: Gabefire <33893811+Gabefire@users.noreply.github.com> Date: Wed, 24 Jul 2024 11:56:10 -0500 Subject: [PATCH 07/11] fixed --- .github/actions/action.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/actions/action.yml b/.github/actions/action.yml index e9258a2..3835fd6 100644 --- a/.github/actions/action.yml +++ b/.github/actions/action.yml @@ -19,7 +19,6 @@ runs: shell: bash run: rye pin ${{ inputs.python-version }} - name: Environment setup - working-directory: libs/labelbox shell: bash run: | rye sync -f --update-all From 93bce70bef22e697f5a6226457217ececa2c1d6b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 24 Jul 2024 16:56:58 +0000 Subject: [PATCH 08/11] :art: Cleaned --- .python-version | 1 + annotation_import/audio.ipynb | 4 +- annotation_import/conversational.ipynb | 4 +- annotation_import/conversational_LLM.ipynb | 4 +- .../conversational_LLM_data_generation.ipynb | 4 +- annotation_import/dicom.ipynb | 4 +- annotation_import/html.ipynb | 4 +- annotation_import/image.ipynb | 4 +- annotation_import/pdf.ipynb | 4 +- annotation_import/text.ipynb | 4 +- annotation_import/tiled.ipynb | 4 +- annotation_import/video.ipynb | 4 +- basics/basics.ipynb | 4 +- basics/batches.ipynb | 4 +- basics/custom_embeddings.ipynb | 307 ++++++------------ basics/data_row_metadata.ipynb | 4 +- basics/data_rows.ipynb | 4 +- basics/ontologies.ipynb | 4 +- basics/projects.ipynb | 4 +- basics/quick_start.ipynb | 4 +- basics/user_management.ipynb | 4 +- exports/composite_mask_export.ipynb | 4 +- exports/export_data.ipynb | 4 +- .../export_v1_to_v2_migration_support.ipynb | 4 +- exports/exporting_to_csv.ipynb | 4 +- foundry/object_detection.ipynb | 4 +- .../huggingface_custom_embeddings.ipynb | 4 +- integrations/langchain/langchain.ipynb | 4 +- integrations/sam/meta_sam.ipynb | 4 +- integrations/sam/meta_sam_video.ipynb | 4 +- .../yolo/import_yolov8_annotations.ipynb | 4 +- model_experiments/custom_metrics_basics.ipynb | 4 +- model_experiments/custom_metrics_demo.ipynb | 4 +- .../model_predictions_to_project.ipynb | 4 +- model_experiments/model_slices.ipynb | 4 +- .../conversational_LLM_predictions.ipynb | 4 +- .../conversational_predictions.ipynb | 4 +- .../geospatial_predictions.ipynb | 4 +- prediction_upload/html_predictions.ipynb | 4 +- prediction_upload/image_predictions.ipynb | 4 +- prediction_upload/pdf_predictions.ipynb | 4 +- prediction_upload/text_predictions.ipynb | 4 +- prediction_upload/video_predictions.ipynb | 4 +- .../multimodal_chat_project.ipynb | 4 +- project_configuration/project_setup.ipynb | 4 +- project_configuration/queue_management.ipynb | 4 +- project_configuration/webhooks.ipynb | 4 +- requirements-dev.lock | 19 +- requirements.lock | 2 + .../format_notebooks.cpython-312.pyc | Bin 0 -> 3703 bytes scripts/format_notebooks.py | 4 +- template.ipynb | 4 +- 52 files changed, 205 insertions(+), 312 deletions(-) create mode 100644 .python-version create mode 100644 scripts/__pycache__/format_notebooks.cpython-312.pyc diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..455808f --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.12.4 diff --git a/annotation_import/audio.ipynb b/annotation_import/audio.ipynb index 437130a..4e05fee 100644 --- a/annotation_import/audio.ipynb +++ b/annotation_import/audio.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/annotation_import/conversational.ipynb b/annotation_import/conversational.ipynb index fd691b9..d3b626e 100644 --- a/annotation_import/conversational.ipynb +++ b/annotation_import/conversational.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/annotation_import/conversational_LLM.ipynb b/annotation_import/conversational_LLM.ipynb index a187099..03edde1 100644 --- a/annotation_import/conversational_LLM.ipynb +++ b/annotation_import/conversational_LLM.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/annotation_import/conversational_LLM_data_generation.ipynb b/annotation_import/conversational_LLM_data_generation.ipynb index 8fb71b8..d0225cf 100644 --- a/annotation_import/conversational_LLM_data_generation.ipynb +++ b/annotation_import/conversational_LLM_data_generation.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/annotation_import/dicom.ipynb b/annotation_import/dicom.ipynb index 3f6aa03..1b39378 100644 --- a/annotation_import/dicom.ipynb +++ b/annotation_import/dicom.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/annotation_import/html.ipynb b/annotation_import/html.ipynb index 5674828..5d99add 100644 --- a/annotation_import/html.ipynb +++ b/annotation_import/html.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/annotation_import/image.ipynb b/annotation_import/image.ipynb index 90ecf21..5671099 100644 --- a/annotation_import/image.ipynb +++ b/annotation_import/image.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/annotation_import/pdf.ipynb b/annotation_import/pdf.ipynb index bcdd0ab..2621a4d 100644 --- a/annotation_import/pdf.ipynb +++ b/annotation_import/pdf.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/annotation_import/text.ipynb b/annotation_import/text.ipynb index c682be2..d775976 100644 --- a/annotation_import/text.ipynb +++ b/annotation_import/text.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/annotation_import/tiled.ipynb b/annotation_import/tiled.ipynb index a5c0ea9..68110a6 100644 --- a/annotation_import/tiled.ipynb +++ b/annotation_import/tiled.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/annotation_import/video.ipynb b/annotation_import/video.ipynb index 8a9369c..ecf61b7 100644 --- a/annotation_import/video.ipynb +++ b/annotation_import/video.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/basics/basics.ipynb b/basics/basics.ipynb index 3b77966..76b953c 100644 --- a/basics/basics.ipynb +++ b/basics/basics.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/basics/batches.ipynb b/basics/batches.ipynb index 870dcbb..055cc25 100644 --- a/basics/batches.ipynb +++ b/basics/batches.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/basics/custom_embeddings.ipynb b/basics/custom_embeddings.ipynb index b7246a8..be37a8f 100644 --- a/basics/custom_embeddings.ipynb +++ b/basics/custom_embeddings.ipynb @@ -1,389 +1,286 @@ { + "nbformat": 4, + "nbformat_minor": 0, + "metadata": {}, "cells": [ { - "cell_type": "markdown", "metadata": {}, "source": [ - "\n", - " \n", + "", + " ", "\n" - ] + ], + "cell_type": "markdown" }, { - "cell_type": "markdown", "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" - ] + ], + "cell_type": "markdown" }, { - "cell_type": "markdown", "metadata": {}, "source": [ "# Custom Embeddings\n", "\n", "You can improve your data exploration and similarity search experience by adding your own custom embeddings. Labelbox allows you to upload up to 10 different custom embeddings per workspace on any kind of data. You can experiment with different embeddings to power your data selection." - ] + ], + "cell_type": "markdown" }, { - "cell_type": "markdown", "metadata": {}, "source": [ "# Set up " - ] + ], + "cell_type": "markdown" }, { - "cell_type": "code", - "execution_count": null, "metadata": {}, + "source": "%pip install -q --upgrade \"labelbox[data]\"\n\n\"test\"", + "cell_type": "code", "outputs": [], - "source": [ - "%pip install -q --upgrade \"labelbox[data]\"\n", - "\n", - "\"test\"" - ] + "execution_count": null }, { - "cell_type": "code", - "execution_count": null, "metadata": {}, + "source": "import labelbox as lb\nimport numpy as np\nimport json\nimport uuid\nimport random", + "cell_type": "code", "outputs": [], - "source": [ - "import labelbox as lb\n", - "import numpy as np\n", - "import json\n", - "import uuid\n", - "import random" - ] + "execution_count": null }, { - "cell_type": "markdown", "metadata": {}, "source": [ "# Replace with your API key" - ] + ], + "cell_type": "markdown" }, { - "cell_type": "code", - "execution_count": null, "metadata": {}, + "source": "API_KEY = \"\"\nclient = lb.Client(API_KEY)", + "cell_type": "code", "outputs": [], - "source": [ - "API_KEY = \"\"\n", - "client = lb.Client(API_KEY)" - ] + "execution_count": null }, { - "cell_type": "markdown", "metadata": {}, "source": [ "# Select data rows" - ] + ], + "cell_type": "markdown" }, { - "cell_type": "markdown", "metadata": {}, "source": [ "- Get images from a Labelbox dataset\n", "- To improve similarity search, you need to upload custom embeddings to at least 1,000 data rows.\n" - ] + ], + "cell_type": "markdown" }, { - "cell_type": "code", - "execution_count": null, "metadata": {}, + "source": "DATASET_ID = \"\"", + "cell_type": "code", "outputs": [], - "source": [ - "DATASET_ID = \"\"" - ] + "execution_count": null }, { - "cell_type": "code", - "execution_count": null, "metadata": {}, + "source": "dataset = client.get_dataset(dataset_id=DATASET_ID)\nexport_task = dataset.export()\nexport_task.wait_till_done()", + "cell_type": "code", "outputs": [], - "source": [ - "dataset = client.get_dataset(dataset_id=DATASET_ID)\n", - "export_task = dataset.export()\n", - "export_task.wait_till_done()" - ] + "execution_count": null }, { - "cell_type": "code", - "execution_count": null, "metadata": {}, + "source": "data_rows = []\n\n\ndef json_stream_handler(output: lb.BufferedJsonConverterOutput):\n data_row = output.json\n data_rows.append(data_row)\n\n\nif export_task.has_errors():\n export_task.get_buffered_stream(stream_type=lb.StreamType.ERRORS).start(\n stream_handler=lambda error: print(error))\n\nif export_task.has_result():\n export_json = export_task.get_buffered_stream(\n stream_type=lb.StreamType.RESULT).start(\n stream_handler=json_stream_handler)", + "cell_type": "code", "outputs": [], - "source": [ - "data_rows = []\n", - "\n", - "\n", - "def json_stream_handler(output: lb.BufferedJsonConverterOutput):\n", - " data_row = output.json\n", - " data_rows.append(data_row)\n", - "\n", - "\n", - "if export_task.has_errors():\n", - " export_task.get_buffered_stream(stream_type=lb.StreamType.ERRORS).start(\n", - " stream_handler=lambda error: print(error))\n", - "\n", - "if export_task.has_result():\n", - " export_json = export_task.get_buffered_stream(\n", - " stream_type=lb.StreamType.RESULT).start(\n", - " stream_handler=json_stream_handler)" - ] + "execution_count": null }, { - "cell_type": "code", - "execution_count": null, "metadata": {}, + "source": "data_row_dict = [{\"data_row_id\": dr[\"data_row\"][\"id\"]} for dr in data_rows]\ndata_row_dict = data_row_dict[:\n 1000] # keep the first 1000 examples for the sake of this demo", + "cell_type": "code", "outputs": [], - "source": [ - "data_row_dict = [{\"data_row_id\": dr[\"data_row\"][\"id\"]} for dr in data_rows]\n", - "data_row_dict = data_row_dict[:\n", - " 1000] # keep the first 1000 examples for the sake of this demo" - ] + "execution_count": null }, { - "cell_type": "markdown", "metadata": {}, "source": [ "# Create custom embedding payload " - ] + ], + "cell_type": "markdown" }, { - "cell_type": "markdown", "metadata": {}, "source": [ "Generate random vectors for embeddings (max : 2048 dimensions)" - ] + ], + "cell_type": "markdown" }, { - "cell_type": "code", - "execution_count": null, "metadata": {}, + "source": "nb_data_rows = len(data_row_dict)\nprint(\"Number of data rows: \", nb_data_rows)\n# Labelbox supports custom embedding vectors of dimension up to 2048\ncustom_embeddings = [list(np.random.random(2048)) for _ in range(nb_data_rows)]", + "cell_type": "code", "outputs": [], - "source": [ - "nb_data_rows = len(data_row_dict)\n", - "print(\"Number of data rows: \", nb_data_rows)\n", - "# Labelbox supports custom embedding vectors of dimension up to 2048\n", - "custom_embeddings = [list(np.random.random(2048)) for _ in range(nb_data_rows)]" - ] + "execution_count": null }, { - "cell_type": "markdown", "metadata": {}, "source": [ "List all custom embeddings available in your Labelbox workspace" - ] + ], + "cell_type": "markdown" }, { - "cell_type": "code", - "execution_count": null, "metadata": {}, + "source": "embeddings = client.get_embeddings()", + "cell_type": "code", "outputs": [], - "source": [ - "embeddings = client.get_embeddings()" - ] + "execution_count": null }, { - "cell_type": "markdown", "metadata": {}, "source": [ "Choose an existing embedding type or create a new one" - ] + ], + "cell_type": "markdown" }, { - "cell_type": "code", - "execution_count": null, "metadata": {}, + "source": "# Name of the custom embedding must be unique\nembedding = client.create_embedding(\"my_custom_embedding_2048_dimensions\", 2048)", + "cell_type": "code", "outputs": [], - "source": [ - "# Name of the custom embedding must be unique\n", - "embedding = client.create_embedding(\"my_custom_embedding_2048_dimensions\", 2048)" - ] + "execution_count": null }, { - "cell_type": "markdown", "metadata": {}, "source": [ "Create payload" - ] + ], + "cell_type": "markdown" }, { - "cell_type": "markdown", "metadata": {}, "source": [ "The payload should encompass the `key` (data row id or global key) and the new embedding vector data. Note that the `dataset.upsert_data_rows()` operation will only update the values you pass in the payload; all other existing row data will not be modified." - ] + ], + "cell_type": "markdown" }, { - "cell_type": "code", - "execution_count": null, "metadata": {}, + "source": "payload = []\nfor data_row_dict, custom_embedding in zip(data_row_dict, custom_embeddings):\n payload.append({\n \"key\":\n lb.UniqueId(data_row_dict[\"data_row_id\"]),\n \"embeddings\": [{\n \"embedding_id\": embedding.id,\n \"vector\": custom_embedding\n }],\n })\n\nprint(\"payload\", len(payload), payload[:1])", + "cell_type": "code", "outputs": [], - "source": [ - "payload = []\n", - "for data_row_dict, custom_embedding in zip(data_row_dict, custom_embeddings):\n", - " payload.append({\n", - " \"key\":\n", - " lb.UniqueId(data_row_dict[\"data_row_id\"]),\n", - " \"embeddings\": [{\n", - " \"embedding_id\": embedding.id,\n", - " \"vector\": custom_embedding\n", - " }],\n", - " })\n", - "\n", - "print(\"payload\", len(payload), payload[:1])" - ] + "execution_count": null }, { - "cell_type": "markdown", "metadata": {}, "source": [ "# Upload payload" - ] + ], + "cell_type": "markdown" }, { - "cell_type": "markdown", "metadata": {}, "source": [ "Upsert data rows with custom embeddings" - ] + ], + "cell_type": "markdown" }, { - "cell_type": "code", - "execution_count": null, "metadata": {}, + "source": "task = dataset.upsert_data_rows(payload)\ntask.wait_till_done()\nprint(task.errors)\nprint(task.status)", + "cell_type": "code", "outputs": [], - "source": [ - "task = dataset.upsert_data_rows(payload)\n", - "task.wait_till_done()\n", - "print(task.errors)\n", - "print(task.status)" - ] + "execution_count": null }, { - "cell_type": "markdown", "metadata": {}, "source": [ "Get the count of imported vectors for a custom embedding" - ] + ], + "cell_type": "markdown" }, { - "cell_type": "code", - "execution_count": null, "metadata": {}, + "source": "# Count how many data rows have a specific custom embedding (this can take a couple of minutes)\ncount = embedding.get_imported_vector_count()\nprint(count)", + "cell_type": "code", "outputs": [], - "source": [ - "# Count how many data rows have a specific custom embedding (this can take a couple of minutes)\n", - "count = embedding.get_imported_vector_count()\n", - "print(count)" - ] + "execution_count": null }, { - "cell_type": "markdown", "metadata": {}, "source": [ "Delete custom embedding type" - ] + ], + "cell_type": "markdown" }, { - "cell_type": "code", - "execution_count": null, "metadata": {}, + "source": "# embedding.delete()", + "cell_type": "code", "outputs": [], - "source": [ - "# embedding.delete()" - ] + "execution_count": null }, { - "cell_type": "markdown", "metadata": {}, "source": [ "# Upload custom embeddings during data row creation" - ] + ], + "cell_type": "markdown" }, { - "cell_type": "markdown", "metadata": {}, "source": [ "Create a dataset" - ] + ], + "cell_type": "markdown" }, { - "cell_type": "code", - "execution_count": null, "metadata": {}, + "source": "# Create a dataset\ndataset_new = client.create_dataset(name=\"data_rows_with_embeddings\")", + "cell_type": "code", "outputs": [], - "source": [ - "# Create a dataset\n", - "dataset_new = client.create_dataset(name=\"data_rows_with_embeddings\")" - ] + "execution_count": null }, { - "cell_type": "markdown", "metadata": {}, "source": [ "Fetch an embedding (2048 dimension)" - ] + ], + "cell_type": "markdown" }, { - "cell_type": "code", - "execution_count": null, "metadata": {}, + "source": "embedding = client.get_embedding_by_name(\"my_custom_embedding_2048_dimensions\")\nvector = [random.uniform(1.0, 2.0) for _ in range(embedding.dims)]", + "cell_type": "code", "outputs": [], - "source": [ - "embedding = client.get_embedding_by_name(\"my_custom_embedding_2048_dimensions\")\n", - "vector = [random.uniform(1.0, 2.0) for _ in range(embedding.dims)]" - ] + "execution_count": null }, { - "cell_type": "markdown", "metadata": {}, "source": [ "Upload data rows with embeddings" - ] + ], + "cell_type": "markdown" }, { - "cell_type": "code", - "execution_count": null, "metadata": {}, + "source": "uploads = []\n# Generate data rows\nfor i in range(1, 9):\n uploads.append({\n \"row_data\":\n f\"https://storage.googleapis.com/labelbox-datasets/People_Clothing_Segmentation/jpeg_images/IMAGES/img_000{i}.jpeg\",\n \"global_key\":\n \"TEST-ID-%id\" % uuid.uuid1(),\n \"embeddings\": [{\n \"embedding_id\": embedding.id,\n \"vector\": vector\n }],\n })\n\ntask1 = dataset_new.create_data_rows(uploads)\ntask1.wait_till_done()\nprint(\"ERRORS: \", task1.errors)\nprint(\"RESULTS:\", task1.result)", + "cell_type": "code", "outputs": [], - "source": [ - "uploads = []\n", - "# Generate data rows\n", - "for i in range(1, 9):\n", - " uploads.append({\n", - " \"row_data\":\n", - " f\"https://storage.googleapis.com/labelbox-datasets/People_Clothing_Segmentation/jpeg_images/IMAGES/img_000{i}.jpeg\",\n", - " \"global_key\":\n", - " \"TEST-ID-%id\" % uuid.uuid1(),\n", - " \"embeddings\": [{\n", - " \"embedding_id\": embedding.id,\n", - " \"vector\": vector\n", - " }],\n", - " })\n", - "\n", - "task1 = dataset_new.create_data_rows(uploads)\n", - "task1.wait_till_done()\n", - "print(\"ERRORS: \", task1.errors)\n", - "print(\"RESULTS:\", task1.result)" - ] - } - ], - "metadata": { - "language_info": { - "name": "python" + "execution_count": null } - }, - "nbformat": 4, - "nbformat_minor": 0 -} + ] +} \ No newline at end of file diff --git a/basics/data_row_metadata.ipynb b/basics/data_row_metadata.ipynb index 8a63a07..0d683e2 100644 --- a/basics/data_row_metadata.ipynb +++ b/basics/data_row_metadata.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/basics/data_rows.ipynb b/basics/data_rows.ipynb index f17e6fa..066b19f 100644 --- a/basics/data_rows.ipynb +++ b/basics/data_rows.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/basics/ontologies.ipynb b/basics/ontologies.ipynb index 0058424..10af969 100644 --- a/basics/ontologies.ipynb +++ b/basics/ontologies.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/basics/projects.ipynb b/basics/projects.ipynb index 6bebba7..1cc59af 100644 --- a/basics/projects.ipynb +++ b/basics/projects.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/basics/quick_start.ipynb b/basics/quick_start.ipynb index c8fa37f..9b5a0b9 100644 --- a/basics/quick_start.ipynb +++ b/basics/quick_start.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/basics/user_management.ipynb b/basics/user_management.ipynb index ffe6564..11574f9 100644 --- a/basics/user_management.ipynb +++ b/basics/user_management.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/exports/composite_mask_export.ipynb b/exports/composite_mask_export.ipynb index 206637d..8be87d3 100644 --- a/exports/composite_mask_export.ipynb +++ b/exports/composite_mask_export.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/exports/export_data.ipynb b/exports/export_data.ipynb index 0054a2d..a16df5b 100644 --- a/exports/export_data.ipynb +++ b/exports/export_data.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/exports/export_v1_to_v2_migration_support.ipynb b/exports/export_v1_to_v2_migration_support.ipynb index 9fed974..606621e 100644 --- a/exports/export_v1_to_v2_migration_support.ipynb +++ b/exports/export_v1_to_v2_migration_support.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/exports/exporting_to_csv.ipynb b/exports/exporting_to_csv.ipynb index 80d906c..08a794d 100644 --- a/exports/exporting_to_csv.ipynb +++ b/exports/exporting_to_csv.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/foundry/object_detection.ipynb b/foundry/object_detection.ipynb index 5cf092b..6184abf 100644 --- a/foundry/object_detection.ipynb +++ b/foundry/object_detection.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/integrations/huggingface/huggingface_custom_embeddings.ipynb b/integrations/huggingface/huggingface_custom_embeddings.ipynb index e86fe85..9a25f21 100644 --- a/integrations/huggingface/huggingface_custom_embeddings.ipynb +++ b/integrations/huggingface/huggingface_custom_embeddings.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/integrations/langchain/langchain.ipynb b/integrations/langchain/langchain.ipynb index f6653d0..e053213 100644 --- a/integrations/langchain/langchain.ipynb +++ b/integrations/langchain/langchain.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/integrations/sam/meta_sam.ipynb b/integrations/sam/meta_sam.ipynb index 4802f76..07854cc 100644 --- a/integrations/sam/meta_sam.ipynb +++ b/integrations/sam/meta_sam.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/integrations/sam/meta_sam_video.ipynb b/integrations/sam/meta_sam_video.ipynb index 76e6410..ca42808 100644 --- a/integrations/sam/meta_sam_video.ipynb +++ b/integrations/sam/meta_sam_video.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/integrations/yolo/import_yolov8_annotations.ipynb b/integrations/yolo/import_yolov8_annotations.ipynb index 3e79b66..446ba45 100644 --- a/integrations/yolo/import_yolov8_annotations.ipynb +++ b/integrations/yolo/import_yolov8_annotations.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/model_experiments/custom_metrics_basics.ipynb b/model_experiments/custom_metrics_basics.ipynb index 0face2b..a2cddc4 100644 --- a/model_experiments/custom_metrics_basics.ipynb +++ b/model_experiments/custom_metrics_basics.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/model_experiments/custom_metrics_demo.ipynb b/model_experiments/custom_metrics_demo.ipynb index 28a63c0..2e6a0f3 100644 --- a/model_experiments/custom_metrics_demo.ipynb +++ b/model_experiments/custom_metrics_demo.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/model_experiments/model_predictions_to_project.ipynb b/model_experiments/model_predictions_to_project.ipynb index ee86ff1..78a5dec 100644 --- a/model_experiments/model_predictions_to_project.ipynb +++ b/model_experiments/model_predictions_to_project.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/model_experiments/model_slices.ipynb b/model_experiments/model_slices.ipynb index 91575a4..3c16540 100644 --- a/model_experiments/model_slices.ipynb +++ b/model_experiments/model_slices.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/prediction_upload/conversational_LLM_predictions.ipynb b/prediction_upload/conversational_LLM_predictions.ipynb index 7d0b889..c4fffff 100644 --- a/prediction_upload/conversational_LLM_predictions.ipynb +++ b/prediction_upload/conversational_LLM_predictions.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/prediction_upload/conversational_predictions.ipynb b/prediction_upload/conversational_predictions.ipynb index 1b6da1f..0892ff9 100644 --- a/prediction_upload/conversational_predictions.ipynb +++ b/prediction_upload/conversational_predictions.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/prediction_upload/geospatial_predictions.ipynb b/prediction_upload/geospatial_predictions.ipynb index d9035b9..6be8174 100644 --- a/prediction_upload/geospatial_predictions.ipynb +++ b/prediction_upload/geospatial_predictions.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/prediction_upload/html_predictions.ipynb b/prediction_upload/html_predictions.ipynb index f78f256..cc18a4b 100644 --- a/prediction_upload/html_predictions.ipynb +++ b/prediction_upload/html_predictions.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/prediction_upload/image_predictions.ipynb b/prediction_upload/image_predictions.ipynb index 69add64..18583b3 100644 --- a/prediction_upload/image_predictions.ipynb +++ b/prediction_upload/image_predictions.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/prediction_upload/pdf_predictions.ipynb b/prediction_upload/pdf_predictions.ipynb index b50d0c3..9bc86d3 100644 --- a/prediction_upload/pdf_predictions.ipynb +++ b/prediction_upload/pdf_predictions.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/prediction_upload/text_predictions.ipynb b/prediction_upload/text_predictions.ipynb index 7e4cd04..307669f 100644 --- a/prediction_upload/text_predictions.ipynb +++ b/prediction_upload/text_predictions.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/prediction_upload/video_predictions.ipynb b/prediction_upload/video_predictions.ipynb index 1157f44..5652e6a 100644 --- a/prediction_upload/video_predictions.ipynb +++ b/prediction_upload/video_predictions.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/project_configuration/multimodal_chat_project.ipynb b/project_configuration/multimodal_chat_project.ipynb index c2f7410..6089f44 100644 --- a/project_configuration/multimodal_chat_project.ipynb +++ b/project_configuration/multimodal_chat_project.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/project_configuration/project_setup.ipynb b/project_configuration/project_setup.ipynb index 2733332..d54f9f0 100644 --- a/project_configuration/project_setup.ipynb +++ b/project_configuration/project_setup.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/project_configuration/queue_management.ipynb b/project_configuration/queue_management.ipynb index a412538..3d20236 100644 --- a/project_configuration/queue_management.ipynb +++ b/project_configuration/queue_management.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/project_configuration/webhooks.ipynb b/project_configuration/webhooks.ipynb index 36b6f97..488d65b 100644 --- a/project_configuration/webhooks.ipynb +++ b/project_configuration/webhooks.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], diff --git a/requirements-dev.lock b/requirements-dev.lock index 4ade9b9..ce6e8f2 100644 --- a/requirements-dev.lock +++ b/requirements-dev.lock @@ -6,15 +6,13 @@ # features: [] # all-features: false # with-sources: false +# generate-hashes: false +# universal: false annotated-types==0.7.0 # via pydantic -appnope==0.1.4 - # via ipython asttokens==2.4.1 # via stack-data -backcall==0.2.0 - # via ipython black==24.4.2 click==8.1.7 # via black @@ -32,7 +30,7 @@ gitpython==3.1.43 # via databooks importlib-metadata==8.2.0 # via yapf -ipython==8.12.3 +ipython==8.26.0 # via black jedi==0.19.1 # via ipython @@ -40,19 +38,17 @@ matplotlib-inline==0.1.7 # via ipython mypy-extensions==1.0.0 # via black -numpy==1.24.4 +numpy==2.0.1 # via pandas packaging==24.1 # via black -pandas==2.0.3 +pandas==2.2.2 parso==0.8.4 # via jedi pathspec==0.12.1 # via black pexpect==4.9.0 # via ipython -pickleshare==0.7.5 - # via ipython platformdirs==4.2.2 # via black # via yapf @@ -88,7 +84,6 @@ stack-data==0.6.3 tokenize-rt==5.2.0 # via black tomli==2.0.1 - # via black # via databooks # via yapf traitlets==5.14.3 @@ -97,13 +92,9 @@ traitlets==5.14.3 typer==0.12.3 # via databooks typing-extensions==4.12.2 - # via annotated-types - # via black # via databooks - # via ipython # via pydantic # via pydantic-core - # via rich # via typer tzdata==2024.1 # via pandas diff --git a/requirements.lock b/requirements.lock index cb7b7d0..454ee21 100644 --- a/requirements.lock +++ b/requirements.lock @@ -6,4 +6,6 @@ # features: [] # all-features: false # with-sources: false +# generate-hashes: false +# universal: false diff --git a/scripts/__pycache__/format_notebooks.cpython-312.pyc b/scripts/__pycache__/format_notebooks.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..438544a2bc6faf4d14b71fbf85403bfacc771db3 GIT binary patch literal 3703 zcmahLO;8)x`K`1ov@3yxgpDD_5yHmEHd?@7dl(?Gv24>2;@ET=GtDR~y+vABX*Iix zu?RGDrUyuzF?2cunaNCWFC}9R96i%Z(rJ3>1sPoE)}C>vxo}f(W<1rU{oYConAq); z_WgYCd*A#1-}l$@at=Ye(sqCNBbfb*EUe}zO`dmB2rVFtFeRg*;z$iqu(rvzlzqrf z5tv=3Q_K)!&S}|^DjO=J5Q{K_9TG|)T=shkJHModoB&}>2v>rz*fqpq_mB&h{{{`Y zaRv0{Vg>e$HX)=A*pP@uES~m_*o!Myd=G3z&}DQF#cc`rKBN(vLX&9TcGp3}dI}AB zfChv84?qsmI?#|;^o}$XSNnUhT=ZBJK@y7m_SQhfhpQ|q6v|RrDsH39JH}B1YDF3~ z4(nTpg5TXEckH*&I2AgyO|BRSQHB$XVkWL+vM~2wSCzP^Y1b7+j@%LBW4fXOn7g8= zDM9a5uxL0_f;x(o@iZKaoj-RWj)jnYg6`6B&%~#JK%h$q=z^LM_3mIaCJX7&U?8cA z!`;E8u4lAPo|lD~D94mL;kc3t270=rR3f0M@mC}8FbY>n3hk6*W;% zMBQ4+F91my)y6Lk$F0b{FmPwF1V8 zragWVlAauUJwwr#7y{*nwWK7@E^*By(UwQM<>J zk}d`VCVNHv5?>RHso05ImOWoDbCD?DUo!Zv<(t!rF2)pPR3qk%@hL${^B)gOvX~Z9 z;?zX1MY>49)ZhOiqN}2KkVw1~R>aE@1D_qf=Nr&1Kp2kf-vtkHF7o(DBR?eN=oF_v2}*>lEQk)^L@8By`m}xabUg+DFh$qb={@1^2vr zad6!m+(9;`XNKN#dG2-2c7E2i=?dmt!KKc}uJD$>W}#=kXQ^RHTlb&d^q^H?f!v4ZhLDulfGu_t zaR>N|zUwU`knRt*$zA`Nvcb~?Kg)^~(yeC=jqF-_@BAcM+4ZX_yKX*?WcUB#(t5c? zMJH**Y?g;kF_R3o6aT?9>0e3BzQS1ed)Qroy}NR}_AI?p_LH*?a#r_3XSPWuVf(~} zohBD7Mzv@H;FAC`?MGcjG{5rznJ>;4iU1be0|dX)vSw5wKQ_eiw` z-5aeFyF3B~lRI*S*PEe)?dBri>eI}|BxW){OKrg1UZG2<${dIp2XQW-5& zX0Sx!D0!3&noJGatQ$B}!UDNM;?>+Km&APW?y6;(Cw{^ypHk!JgM0VZ;)?7L5Q>XY-VJVYM#|FWNSrw{fRg-Ru+ay1aktEV9i$YpTC!nrNWn@toaeW~F)#rZ< zg!~4bfXYYZ0gHr2CR_AhA3V!IMulhy50B|%P)VvJNQ^^SAu}8%oh-%7F)Cyv^HEki z06}dhT`TE`N12Xo`WNAtIB+y-FvRIJgUZ`e~p#$Yn41aU{H-Ec-D0o`J{X~Ef* zQt+58_NdnZNH(;;K$o{u6!j0}g8x%g^Axo`MQ8G~jiU1$@*UmcsBc;Z=-Pi9?kg{B05%U4G*TCR>t`>y>2FW^FIC$ARLNYbE&DH*-kk*i literal 0 HcmV?d00001 diff --git a/scripts/format_notebooks.py b/scripts/format_notebooks.py index b73507a..226c777 100644 --- a/scripts/format_notebooks.py +++ b/scripts/format_notebooks.py @@ -36,7 +36,9 @@ } COLAB_TEMPLATE = "https://colab.research.google.com/github/Labelbox/labelbox-notebooks/blob/main/{filename}" -GITHUB_TEMPLATE = "https://github.com/Labelbox/labelbox-notebooks/tree/main/{filename}" +GITHUB_TEMPLATE = ( + "https://github.com/Labelbox/labelbox-notebooks/tree/main/{filename}" +) def format_cell(source): diff --git a/template.ipynb b/template.ipynb index f029217..83c8602 100644 --- a/template.ipynb +++ b/template.ipynb @@ -16,12 +16,12 @@ "metadata": {}, "source": [ "\n", - "\n", "\n", "\n", "\n", - "\n", "" ], From 3320448345a34685d3c59ba25c62de581f1a1945 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 24 Jul 2024 16:57:34 +0000 Subject: [PATCH 09/11] :memo: README updated --- README.md | 186 +++++++++--------- .../generate_readme.cpython-312.pyc | Bin 0 -> 7015 bytes 2 files changed, 93 insertions(+), 93 deletions(-) create mode 100644 scripts/__pycache__/generate_readme.cpython-312.pyc diff --git a/README.md b/README.md index 1523e17..1bc1029 100644 --- a/README.md +++ b/README.md @@ -17,49 +17,49 @@ - Custom Embeddings - Open In Github - Open In Colab + Basics + Open In Github + Open In Colab - Batches - Open In Github - Open In Colab + Projects + Open In Github + Open In Colab Ontologies Open In Github Open In Colab - - Basics - Open In Github - Open In Colab - Quick Start Open In Github Open In Colab + + Data Rows + Open In Github + Open In Colab + Data Row Metadata Open In Github Open In Colab - Projects - Open In Github - Open In Colab + User Management + Open In Github + Open In Colab - Data Rows - Open In Github - Open In Colab + Batches + Open In Github + Open In Colab - User Management - Open In Github - Open In Colab + Custom Embeddings + Open In Github + Open In Colab @@ -76,25 +76,25 @@ - Composite Mask Export - Open In Github - Open In Colab + Exporting to CSV + Open In Github + Open In Colab Export Data Open In Github Open In Colab - - Exporting to CSV - Open In Github - Open In Colab - Export V1 to V2 Migration Support Open In Github Open In Colab + + Composite Mask Export + Open In Github + Open In Colab + @@ -119,16 +119,16 @@ Open In Github Open In Colab - - Multimodal Chat Project - Open In Github - Open In Colab - Webhooks Open In Github Open In Colab + + Multimodal Chat Project + Open In Github + Open In Colab + @@ -144,34 +144,24 @@ - PDF - Open In Github - Open In Colab - - - Conversational - Open In Github - Open In Colab - - - Video - Open In Github - Open In Colab + Tiled + Open In Github + Open In Colab - Text - Open In Github - Open In Colab + Conversational LLM + Open In Github + Open In Colab - DICOM - Open In Github - Open In Colab + HTML + Open In Github + Open In Colab - Tiled - Open In Github - Open In Colab + Conversational LLM Data Generation + Open In Github + Open In Colab Image @@ -179,14 +169,19 @@ Open In Colab - Conversational LLM Data Generation - Open In Github - Open In Colab + PDF + Open In Github + Open In Colab - Conversational LLM - Open In Github - Open In Colab + DICOM + Open In Github + Open In Colab + + + Text + Open In Github + Open In Colab Audio @@ -194,9 +189,14 @@ Open In Colab - HTML - Open In Github - Open In Colab + Conversational + Open In Github + Open In Colab + + + Video + Open In Github + Open In Colab @@ -212,31 +212,31 @@ - - Huggingface Custom Embeddings - Open In Github - Open In Colab - Import YOLOv8 Annotations Open In Github Open In Colab - - Meta SAM - Open In Github - Open In Colab - Meta SAM Video Open In Github Open In Colab + + Meta SAM + Open In Github + Open In Colab + Langchain Open In Github Open In Colab + + Huggingface Custom Embeddings + Open In Github + Open In Colab + @@ -251,11 +251,6 @@ - - Model Predictions to Project - Open In Github - Open In Colab - Custom Metrics Demo Open In Github @@ -271,6 +266,11 @@ Open In Github Open In Colab + + Model Predictions to Project + Open In Github + Open In Colab + @@ -286,9 +286,9 @@ - Geospatial Predictions - Open In Github - Open In Colab + Video Predictions + Open In Github + Open In Colab HTML Predictions @@ -296,14 +296,9 @@ Open In Colab - Conversational LLM Predictions - Open In Github - Open In Colab - - - Image Predictions - Open In Github - Open In Colab + Geospatial Predictions + Open In Github + Open In Colab Conversational Predictions @@ -316,15 +311,20 @@ Open In Colab - Video Predictions - Open In Github - Open In Colab + Conversational LLM Predictions + Open In Github + Open In Colab PDF Predictions Open In Github Open In Colab + + Image Predictions + Open In Github + Open In Colab + diff --git a/scripts/__pycache__/generate_readme.cpython-312.pyc b/scripts/__pycache__/generate_readme.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5c47b04354a5684f6904342b4cc11a28e0ce5e2a GIT binary patch literal 7015 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 Date: Wed, 24 Jul 2024 12:00:25 -0500 Subject: [PATCH 10/11] Fix line --- basics/custom_embeddings.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/basics/custom_embeddings.ipynb b/basics/custom_embeddings.ipynb index be37a8f..1b8960c 100644 --- a/basics/custom_embeddings.ipynb +++ b/basics/custom_embeddings.ipynb @@ -45,7 +45,7 @@ }, { "metadata": {}, - "source": "%pip install -q --upgrade \"labelbox[data]\"\n\n\"test\"", + "source": "%pip install -q --upgrade \"labelbox[data]\"", "cell_type": "code", "outputs": [], "execution_count": null @@ -283,4 +283,4 @@ "execution_count": null } ] -} \ No newline at end of file +} From 9b2e483c46f2bf329ec4dd8645fb2a00405f17b3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 24 Jul 2024 17:01:08 +0000 Subject: [PATCH 11/11] :art: Cleaned --- basics/custom_embeddings.ipynb | 2 +- .../format_notebooks.cpython-312.pyc | Bin 3703 -> 3703 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/basics/custom_embeddings.ipynb b/basics/custom_embeddings.ipynb index 1b8960c..3adefb7 100644 --- a/basics/custom_embeddings.ipynb +++ b/basics/custom_embeddings.ipynb @@ -283,4 +283,4 @@ "execution_count": null } ] -} +} \ No newline at end of file diff --git a/scripts/__pycache__/format_notebooks.cpython-312.pyc b/scripts/__pycache__/format_notebooks.cpython-312.pyc index 438544a2bc6faf4d14b71fbf85403bfacc771db3..12b6e6fe22a7bb0dd27cddab3a6ff74ea91ab858 100644 GIT binary patch delta 19 Zcmew^^IeAPG%qg~0}z-PZ{*750{}Ve1ib(N delta 19 Zcmew^^IeAPG%qg~0}!|wZRE=30{}Ww1kL~e