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 |
-  |
-  |
+ Basics |
+  |
+  |
- Batches |
-  |
-  |
+ Projects |
+  |
+  |
Ontologies |
 |
 |
-
- Basics |
-  |
-  |
-
Quick Start |
 |
 |
+
+ Data Rows |
+  |
+  |
+
Data Row Metadata |
 |
 |
- Projects |
-  |
-  |
+ User Management |
+  |
+  |
- Data Rows |
-  |
-  |
+ Batches |
+  |
+  |
- User Management |
-  |
-  |
+ Custom Embeddings |
+  |
+  |
@@ -76,25 +76,25 @@
- Composite Mask Export |
-  |
-  |
+ Exporting to CSV |
+  |
+  |
Export Data |
 |
 |
-
- Exporting to CSV |
-  |
-  |
-
Export V1 to V2 Migration Support |
 |
 |
+
+ Composite Mask Export |
+  |
+  |
+
@@ -119,16 +119,16 @@
 |
 |
-
- Multimodal Chat Project |
-  |
-  |
-
Webhooks |
 |
 |
+
+ Multimodal Chat Project |
+  |
+  |
+
@@ -144,34 +144,24 @@
- PDF |
-  |
-  |
-
-
- Conversational |
-  |
-  |
-
-
- Video |
-  |
-  |
+ Tiled |
+  |
+  |
- Text |
-  |
-  |
+ Conversational LLM |
+  |
+  |
- DICOM |
-  |
-  |
+ HTML |
+  |
+  |
- Tiled |
-  |
-  |
+ Conversational LLM Data Generation |
+  |
+  |
Image |
@@ -179,14 +169,19 @@
 |
- Conversational LLM Data Generation |
-  |
-  |
+ PDF |
+  |
+  |
- Conversational LLM |
-  |
-  |
+ DICOM |
+  |
+  |
+
+
+ Text |
+  |
+  |
Audio |
@@ -194,9 +189,14 @@
 |
- HTML |
-  |
-  |
+ Conversational |
+  |
+  |
+
+
+ Video |
+  |
+  |
@@ -212,31 +212,31 @@
-
- Huggingface Custom Embeddings |
-  |
-  |
-
Import YOLOv8 Annotations |
 |
 |
-
- Meta SAM |
-  |
-  |
-
Meta SAM Video |
 |
 |
+
+ Meta SAM |
+  |
+  |
+
Langchain |
 |
 |
+
+ Huggingface Custom Embeddings |
+  |
+  |
+
@@ -251,11 +251,6 @@
-
- Model Predictions to Project |
-  |
-  |
-
Custom Metrics Demo |
 |
@@ -271,6 +266,11 @@
 |
 |
+
+ Model Predictions to Project |
+  |
+  |
+
@@ -286,9 +286,9 @@
- Geospatial Predictions |
-  |
-  |
+ Video Predictions |
+  |
+  |
HTML Predictions |
@@ -296,14 +296,9 @@
 |
- Conversational LLM Predictions |
-  |
-  |
-
-
- Image Predictions |
-  |
-  |
+ Geospatial Predictions |
+  |
+  |
Conversational Predictions |
@@ -316,15 +311,20 @@
 |
- Video Predictions |
-  |
-  |
+ Conversational LLM Predictions |
+  |
+  |
PDF Predictions |
 |
 |
+
+ Image Predictions |
+  |
+  |
+
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
zcmcIpUu+vkdY|Pk|NoIlQ?eyn_F9T#QI5#QjuV|CJGCX*aw6NQ;^G>`DYN2^$d#5{
zc6KFMJPOsr6_635R&WnikOWl@X-@|m2jA1_a6r#NUkvnx3~h+r%K=9FlsDE&5x_v3
zelx43WLa|4hg+F5J2T&W^Jl;B_x)!4ufd=X!83LI^YLFr5&92WupiIH%ldtIxrJmT
zb1E9Oa&DA^vO{%b`B9#ub-XHMg;9Y+UL*@?Zq%7Zvh(NMs7rQ@x@GsMNA`?*W$&m@
z_F=#5$Nq6a4*XOY4Qwd~p&Vr85Xdxa$a&;Os1M0u=;M$h@ZKQrsq2VBxlwMyVQ6cH
z_Xyr2@15*KhSj#uGcqzu2ei@HTQ>q~=DFceGe4Z#dqYyH1
zHm^zsjw|`u+*r(Qy2d13N$I8=U(0L6(9Nbi(I#-pNT#&hxRRbClA&lhGc4tDn!(JQS3g-!?6M+87sl2L5a^Z7dhd3;aVRcNqCcZQ9
zmNbHX
zpRaJZySv+GD29rA#kXgT40Jc942>v~s{3f0uP~M|jJ)2PNU%ZU1nV&KR3>gsC7#l<
z32VfJz19RwjxD-7&r~MHRBbFF<7upF`2^nBgv3wA6&2^CES@V2+hbUon9^Of83g0!
zX)^^?$xWIrf{iJXOKn&UvmGa-Jp9)G9g))J5nZ
zXR#=2DKJzKo--t^_p&!yqMIvr>IRARiu4PLdCACFf+K9lx5$DN2x%lM83vXcAEf
zjF{dhT!PTuG`ZvxPAmw0nd7Gm&b|a>F{kO&^QvN)Zm?lhN@3F_}cvo4%BkR}4v2
z3fL4TG$j`kNPuebu?|Vg46KEl!i+{_U4Uk~h$kb7jF!a-@P-^F322+#wA#8i?Np_w
zh>|z-L>fa!*x97DUGe;^8BDRgPFf?9{V>*1`005_=20z*BF(p2KWbg-|JkACa5>zu
z7Cu%EA6x0ayQdO9xfXuC9DaSZzY_lQ`8TV`rrYJVYAL&$&54_R2nmn{zU+xdUF~D!O*^8rwgL!Zacx
zc-9U+1U+}~6}zWB3-GLy|Hl~obH~`hr*{}5U33+l6Mp(_o_=gu7^7*IbvTPIy4zc3
z{P(*^x+a28Yo{f9gf0Dl1z6&mXn0n36G?W&woQEW(-{HI1PW^w&eS83$bt$58C4a>
zAVLAoQ|zhxmIXgaKpW=NvQ^ge;NUt7R1912H3R2#h^Zi#)uyrhCq*QCa@OR13@Etx
zH~;hf_umt`P2a%F_oNZtNEi~+VQ4XzDP)YSYVvt`+~id?YdV1jXjzljB}h{GwCS4F
zRBgJ)biI3d`0{iQL%NuUM5vxURF4y)JthQr8@vMwV`2)EcvdG(RHPY_n42LR*~>)O
z-kOc9S288(ILW}x^hhb94}fcME&NtF{MLN{uD1cW0-^aq0Irs{
z#p#j|H5>ZohpG*Gm-dxH?epg!HMTxR9_LGdXa0tpz1Mp`>|5$7`#Y+E@Xg`t!%NYB
zX#KeLlLHR}FII!$o1@o9KfGFM>n;bocNAFs@vW;LUH#c#mxFZ$dzYghw>=CTeN=&2!RQyMlrLw=XBy^Gkba$NjjAm%2
zm&T8zF$+7nl>yMrWE_I-B(Q0&h#=lVgohNOJEX#AZtw|bp=QTkO3|n?oyEPU37bT%
z9sZ><5E3C2|8N7hKBy?N+1e4=D$v20`BItsGHe;TBoU7%t
zN>)l^Hd?{kCy5z?$4|8v4z$B+NE#cb+LL3dl$&fn-KS*JqE1rK+RzTv7Md
z#DWW&6VmBlq8M*k`f=D@asm>aZZ<5#vRrRgn#3%!lUJes$5a4#6*b#t6xzFJERL5B
z^sF|mx>x`9{_Oq9(!0r$|AUh7!N#X$pW&&vNGSpPo>h3cg^YT{GdB3$Cg#p@29;(H
z@Hw!AIY$~5xuT;F>TY-iV3bfl$avn4jBY!(H0-k(0_5jz9Nd`)Zt2BShn^E)Oe^;8
z5KD^n_zY3)Jj{s$YZRn|urS*oHx4QinH6&w%aodd_2uDw0Okl(&?YzRaKY#ze9TD-
z%z);b)=bY6^n2(cmQoo}RtTJ>G*GG-Ks0CIEJ2y(ZWgVJovNZ6?*U1CAGjoax2=**
z!bW588lq*zG#ny!G0QFIzxSw`_j@5+Q1Y+CoKgnNSTaOKrw6EwHOi79og*|RS?rXV
zFT;2u!UkIq?IP4J=y5_fOy}j1fx!_5+NSHm`Ae5a1{q+-oa8ksWuXNf4!{?-0bP-#3of8pyr`zQ$%7u?mhLkr%;
zqhEPiDfbf}H8wp)PG_Qyri-Z$-&i_c_8MS!zvAo{4KjUwuD|0jo5!sV7@3xLl}
zixcI*;k7_#IncQheHe(>{Gg*2K!GLzY|BdoI49$$oP-hz<|O~j$m13#p|$LpsJn|@
zLyuCj;|^~V!P^_IH3yJMk3`R-bOUISdmq9dC57})7Cz;{>>Wm(;uU$>xs?#HLyw~X
zGX>o|xZ#)Z<}3=bn@a6O0*$)!6rJ|m?3_c;)3a;OI>9nR_G%|6CD``J-U%Auw>>}s
zX<*;>$X*GJXM5Yk7v%SR<^U*+
z7XB$K0Thf+<(QjNz@z@SJ6ch9u!H9iJ4aKXVg%JjN;xhLShr9NyC9^)<&!Zh0=U6F
zPJ9>OV&~(mL?&g5mX<8j>!Vmv@O5=1x~$u)D{!&p1$dnzx-yMpyy>~Lapz;Y&a(@j
zCxP?U*vfXlCz5m>!_k=ubhAO?`gGcK
zvKcFj01xK?ZSlAf6HG5iCE0PnbSgO+Uo%};hXX%0-4j!~p^VQy;e4@1hMcBAgM;as
zmeeV%vx7IoX2xt8PcR$KU$`>#muHh#1~0xneCEoa>9T;Iv1<#}L;aVB&uo>jVuk4)
zu!Du^Hnb#T`z}I1Rvu{i8+2!B_%|bUTS(fUbR#OT0OGgQS$NN`DID_nv(((jLIVq&
zWR&hJ{PZ+zjTIHdFN9xsKliS@bnk@+;`vJB(ENpJOIt~3t~MQ9YdTVHI#Ovmx{jjG
zS#H5w?KpBba&M&EJhb4idRo6|TbW%A|FT#)+*cA$tzIb|JX`jhEqPk2(YD8^!5dl_
zs0Q{f`O1NgwLn)n&~>M8Rj3?0^&oJX)_dx4uVhJHP?dgb?{
zza72L|1Md1)sEoGEEvi^j^)
z*xeJq>G^ff>cH>c{Oz0f^xs{soER=eW0mN|D%G=}Dfus^WDiX9TM>n#Yr(d1ux)9w
z66{)Vz~Yu8zi9ou^={!_N9omb_i^c}RGR#o<<`n!QWEu&K2th)t?ao*V`q$RPOS?y
z99|0@Er*U)La|b?Yo)#9?=A`5Rs?iemi|->bitQkG0+8HgI=JJS2p7yjdXULJBc8|
zaXVcb8ue=egKA@sjpud_m+(COv$er>H@{^Z;r}^KonYGf?R=+kI?&5V=VlxndKYo<
zH_Kn+-$gUrZuM};8S+u6disjc+B~rnuB269b_!fMW+?pvXoQo{#{D8?oR(mmsVMm4
ziIKrG0~ZJ5S=r=fE)^Q%iTY)9oVp#{1qvFR7)<93p}0f+!;HYqdUEiu&VXMJCWk=5
z;E35|DcV*YbCCCF54ahoH=H^pEH)z(Xh3xro=?7W*_BUpdd$Ch=*%(xOa9QA*Z41wInTV}{_-{FS>!f7Nq`q6mrP!X
zMac*Vl8ca-e!xrB;+;C^%0w(+B?*GNt0vM1eYR45WVr2@q6{`vVI80r~%kI{t`S
zY68y*H6QZtFM0RRyB-T3uVda>iwey`2}NoFp#}0LprMgzZa!3vd@$cob2V~ZOMDGM
zw#={7toC9n7hBY82(l%8oo2OOKPPdE{WV1MWe}(N-Hm(|`q6UjK!j^rI
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