From 2f09519b3ff6f6ff514457c86a28d89e1dda63ae Mon Sep 17 00:00:00 2001
From: Andrea Ovalle <74880762+ovalle15@users.noreply.github.com>
Date: Thu, 27 Oct 2022 17:53:55 -0400
Subject: [PATCH 1/4] Update queue_management
---
.../queue_management.ipynb | 815 +++++++++---------
1 file changed, 397 insertions(+), 418 deletions(-)
diff --git a/examples/project_configuration/queue_management.ipynb b/examples/project_configuration/queue_management.ipynb
index 5301a3e9a..7bcf080d5 100644
--- a/examples/project_configuration/queue_management.ipynb
+++ b/examples/project_configuration/queue_management.ipynb
@@ -1,430 +1,409 @@
{
- "cells": [
- {
- "cell_type": "markdown",
- "id": "db768cda",
- "metadata": {},
- "source": [
- "
\n",
- " \n",
- " | "
- ]
- },
- {
- "cell_type": "markdown",
- "id": "cb5611d0",
- "metadata": {},
- "source": [
- "\n",
- " \n",
- " | \n",
- "\n",
- "\n",
- " \n",
- " | "
- ]
- },
- {
- "cell_type": "markdown",
- "id": "official-miniature",
- "metadata": {},
- "source": [
- "# Queue Management"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "asian-retrieval",
- "metadata": {},
- "source": [
- "* The queue is used to task labelers with specific examples\n",
- "* We can do any of the following:\n",
- " * Set the number of times we want an image labeled\n",
- " * Referred to as `Consensus` in the front end\n",
- " * Set the order of items in the queue\n",
- " * Set the percent of assets to review"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "id": "cloudy-leone",
- "metadata": {},
- "outputs": [],
- "source": [
- "!pip install labelbox\n",
- "!pip install numpy"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 2,
- "id": "twenty-region",
- "metadata": {},
- "outputs": [],
- "source": [
- "from labelbox import Client, LabelingFrontend\n",
- "from labelbox.schema.ontology import OntologyBuilder\n",
- "from labelbox.schema.media_type import MediaType\n",
- "from PIL import Image, ImageDraw, ImageFont\n",
- "import numpy as np\n",
- "from io import BytesIO\n",
- "import os"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "f4c0a490",
- "metadata": {},
- "source": [
- "# API Key and Client\n",
- "Provide a valid api key below in order to properly connect to the Labelbox Client."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "id": "unauthorized-eagle",
- "metadata": {},
- "outputs": [],
- "source": [
- "# Add your api key\n",
- "API_KEY = None\n",
- "client = Client(api_key=API_KEY)"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "prerequisite-choir",
- "metadata": {},
- "source": [
- "### Set up demo project"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "id": "loved-reconstruction",
- "metadata": {},
- "outputs": [],
- "source": [
- "# We are going to create a new project for this\n",
- "# Checkout the project_setup notebook for more details on this cell.\n",
- "project = client.create_project(name=\"queue_project\", media_type=MediaType.Image)\n",
- "dataset = client.create_dataset(name=\"queue_dataset\")\n",
- "editor = next(\n",
- " client.get_labeling_frontends(where=LabelingFrontend.name == 'editor'))\n",
- "project.setup(editor,\n",
- " OntologyBuilder().asdict()\n",
- " ) #empty ontology since we aren't actually labeling..\n",
- "project.datasets.connect(dataset)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 7,
- "id": "antique-tonight",
- "metadata": {},
- "outputs": [],
- "source": [
- "def make_digit_image(digit: int) -> np.ndarray:\n",
- " \"\"\"\n",
- " Will draw a while number on a black image\n",
- " \n",
- " Args:\n",
- " digit (int): number to draw\n",
- " Returns:\n",
- " numpy array with digit drawn\n",
- " \"\"\"\n",
- " font = ImageFont.truetype(\"Verdana.ttf\", 128)\n",
- " img = Image.fromarray(np.zeros((500, 500, 3), dtype=np.uint8))\n",
- " draw = ImageDraw.Draw(img)\n",
- " draw.text((200, 180), str(digit), font=font)\n",
- " return img"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 8,
- "id": "operating-browse",
- "metadata": {},
- "outputs": [],
- "source": [
- "# Ok let's add these to the project\n",
- "for idx in range(15):\n",
- " img = make_digit_image(idx + 1)\n",
- " img_bytes = BytesIO()\n",
- " img.save(img_bytes, format=\"jpeg\")\n",
- " row_data = client.upload_data(img_bytes.getvalue(),\n",
- " content_type='image/jpeg')\n",
- " dataset.create_data_row(row_data=row_data, external_id=f\"queue_{idx + 1}\")"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 9,
- "id": "subject-manufacturer",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAIAAABMXPacAAADrUlEQVR4nO3aPyw7bxwH8Ofqqnp1ibREqOKKiD8NsVikq6EJAzFrwmLpYGE1SEzCQCQYGLHYbG06EBYhcrGQSomk6NVppZe29xsu6c/v22/aa3F1fu/XdM/1+fNJP33uuXt6hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8RFS5A/h2JpOpv7+fpmk1lXmef3l5+e6QfoOVlZXDw8O5ubmCNR0Ox+vrq6zOyMiIBsF/pOp38dM4nc7p6Wmz2ayyfiaTUVnTYDCUGlSJ9JeA1tbW9fV15duXJElNE1mWlcp7e3vxeDxPzZubmy8JUj19JMDpdA4PDzc0NHR3d7vd7rq6uhI6icfjPp/v+fn5y8P7DH0kwO12r62tfbITiqLUX7U0o48ECIIQCoWyxerqapvNVsZ4/ndommY+mJmZUW5a9vf3C7Z1OBzRaFSW5Wg02tTUpEG0RdHHDEilUqlUKltMJpOl9aP+dkgz+kjAHyiqxOdHi8VSU1NTUVEhy3Iymcx/R6QNXSagNCzLHh0dmUymysrKdDotiuLDw8Pp6enBwcHJyUm5o9OVqampotYAURTzPP1KkrS9vV2uVf33zwBZlsPhcCKRCIfDkUgkkUgQQmw2W3t7e29vL8MwRqPR6/U6nc7R0dFYLFbuePWgqBlA07TVas3dYzAYDD09Pbu7u9mpsLS09D3x/jpFJaCgra0tpbdIJFJfX//5Doui9d7TD7S4uCiKIiGktrZ2YGBA49GRABIKhW5vb5XjlpYWjUdHAkg6nVZWZkJIVVWVxqMjAcRkMlmtVuVYEASNR0cCSEdHR3NzMyEkk8nwPK/x6L88AQzD2O32/HV8Pp9y5bm+vr64uNAkrn/pMgHZzbiPO3R/1djYGAwGFxYW2tracj81Go3z8/Ner1cpbmxsvL+/f22oBenjrYiuri6Px5MtDg4Ojo+PE0IuLy93dnay58/OzgKBwMeGHMddXV2ZzeZYLBYMBv1+P8/z0WiUYRiXyzU2NjY0NKTU9Pv9Ho8nuxrDf0xOTqp5p2F1dfWPhhzHSZJUsGEgECh4pfom+tgLSiaTav4DyN1efnx8nJ2dnZiY6OvrY1k2t8nd3d3m5uby8vLb29vXxFokfVyCWJZVs0kgCMLT01PueYqiOI5zuVydnZ12u91isUiSdH9/f35+fnx8jDexAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgv38AIqXYiie2o00AAAAASUVORK5CYII=",
- "text/plain": [
- ""
- ]
- },
- "execution_count": 9,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "#Example image\n",
- "img.resize((128, 128))"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "revolutionary-guard",
- "metadata": {},
- "source": [
- "# Set Queue Order"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 10,
- "id": "available-obligation",
- "metadata": {},
- "outputs": [],
- "source": [
- "data_rows = list(dataset.data_rows())\n",
- "#project.set_labeling_parameter_overrides(data)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 11,
- "id": "experienced-fairy",
- "metadata": {},
- "outputs": [],
- "source": [
- "priorities = []\n",
- "for data_row in data_rows:\n",
- " priorities.append((data_row, int(data_row.external_id.split('_')[-1]), 1))"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 12,
- "id": "tropical-steal",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "(, 1, 1)\n",
- "(, 2, 1)\n",
- "(, 3, 1)\n",
- "(, 4, 1)\n",
- "(, 5, 1)\n",
- "(, 6, 1)\n",
- "(, 7, 1)\n",
- "(, 8, 1)\n",
- "(, 9, 1)\n",
- "(, 10, 1)\n",
- "(, 11, 1)\n",
- "(, 12, 1)\n",
- "(, 13, 1)\n",
- "(, 14, 1)\n",
- "(, 15, 1)\n"
- ]
- }
- ],
- "source": [
- "#Ordered by external_id\n",
- "for priority in priorities:\n",
- " print(priority)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 13,
- "id": "awful-valve",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "True"
- ]
- },
- "execution_count": 13,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "project.set_labeling_parameter_overrides(priorities)"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "available-bonus",
- "metadata": {},
- "source": [
- "* Go to your project and you should see the numbers appear in order."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 14,
- "id": "insured-enterprise",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "View the results here: https://app.labelbox.com/projects/ckmv2hun5cy640789au25hgr9\n"
- ]
- }
- ],
- "source": [
- "print(\"View the results here:\",\n",
- " f\"https://app.labelbox.com/projects/{project.uid}\")\n",
- "# Click `start labeling` to see the images in order"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "incorporated-serbia",
- "metadata": {},
- "source": [
- "### Set number of duplicates\n",
- "* Here we set a duplicate of 2.\n",
- "* If you have two accounts to log into the project from, both users will get the same 15 images in order.\n",
- "* Even from one account you will see it works by skipping a single image and then go to the project overview\n",
- " * You will see 29 remaining with 1 skipped (15 images 2 copies of each)."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 15,
- "id": "cutting-format",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "True"
- ]
- },
- "execution_count": 21,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "# Images will still be labeled in the same order (determined by p[1])\n",
- "# But now each image will be labeled 2 times (never by the same user.\n",
- "# (If you don't have at least 3 users the items will remain in the queue.)\n",
- "duplicate_priorities = [(p[0], p[1], 2) for p in priorities]\n",
- "project.set_labeling_parameter_overrides(duplicate_priorities)"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "charged-classics",
- "metadata": {},
- "source": [
- "### Remove Queue Order\n",
- "* This will delete all of the priorities\n",
- "* Duplicates in the queue will also be cleared"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 16,
- "id": "selected-expert",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "True"
- ]
- },
- "execution_count": 22,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "project.unset_labeling_parameter_overrides(data_rows)"
- ]
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "db768cda",
+ "metadata": {
+ "id": "db768cda"
+ },
+ "source": [
+ "\n",
+ " \n",
+ " | "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "cb5611d0",
+ "metadata": {
+ "id": "cb5611d0"
+ },
+ "source": [
+ "\n",
+ " \n",
+ " | \n",
+ "\n",
+ "\n",
+ " \n",
+ " | "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "official-miniature",
+ "metadata": {
+ "id": "official-miniature"
+ },
+ "source": [
+ "# Queue Management"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "asian-retrieval",
+ "metadata": {
+ "id": "asian-retrieval"
+ },
+ "source": [
+ "* The queue is used to task labelers with specific assets\n",
+ "* We can do any of the following:\n",
+ " * Set the number of times we want an image labeled\n",
+ " * Referred to as `Consensus` in the front end\n",
+ " * Set Benchmark labels \n",
+ " * Set the order of items in the queue\n",
+ " * Set the percent of assets to review"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "cloudy-leone",
+ "metadata": {
+ "id": "cloudy-leone"
+ },
+ "outputs": [],
+ "source": [
+ "!pip install labelbox\n",
+ "!pip install numpy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "twenty-region",
+ "metadata": {
+ "id": "twenty-region"
+ },
+ "outputs": [],
+ "source": [
+ "from labelbox import Client, LabelingFrontend, MediaType\n",
+ "from labelbox.schema.ontology import OntologyBuilder\n",
+ "from labelbox.schema.queue_mode import QueueMode\n",
+ "import numpy as np\n",
+ "from io import BytesIO\n",
+ "import os\n",
+ "import uuid"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "f4c0a490",
+ "metadata": {
+ "id": "f4c0a490"
+ },
+ "source": [
+ "# API Key and Client\n",
+ "Provide a valid api key below in order to properly connect to the Labelbox Client."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "unauthorized-eagle",
+ "metadata": {
+ "id": "unauthorized-eagle"
+ },
+ "outputs": [],
+ "source": [
+ "# Add your api key\n",
+ "API_KEY = None\n",
+ "client = Client(api_key=API_KEY)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "prerequisite-choir",
+ "metadata": {
+ "id": "prerequisite-choir"
+ },
+ "source": [
+ "### Set up demo project"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "id": "loved-reconstruction",
+ "metadata": {
+ "id": "loved-reconstruction"
+ },
+ "outputs": [],
+ "source": [
+ "## Create two Labelbox projects\n",
+ "# Project defaults to batch mode with benchmark quality settings if queue mode argument is not provided\n",
+ "# Note that queue mode will be deprecated once dataset mode is deprecated \n",
+ "\n",
+ "batch_project = client.create_project(name=\"batch-test-project\",\n",
+ " description=\"a description\",\n",
+ " media_type=MediaType.Image,\n",
+ " # Setup quality settings (Benchmarks)\n",
+ " auto_audit_number_of_labels=1,\n",
+ " queue_mode=QueueMode.Batch)\n",
+ "\n",
+ "dataset_project = client.create_project(name=\"dataset-test-project\",\n",
+ " description=\"a description\",\n",
+ " media_type=MediaType.Image,\n",
+ " ## Setup quality settings (Consensus)\n",
+ " auto_audit_percentage=0.1,\n",
+ " auto_audit_number_of_labels=3,\n",
+ " queue_mode=QueueMode.Dataset)\n",
+ "\n",
+ "dataset = client.create_dataset(name=\"queue_dataset\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Add data to your dataset"
+ ],
+ "metadata": {
+ "id": "ztZorrIfzYvR"
+ },
+ "id": "ztZorrIfzYvR"
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "id": "antique-tonight",
+ "metadata": {
+ "id": "antique-tonight",
+ "colab": {
+ "base_uri": "https://localhost:8080/"
},
+ "outputId": "4c99f26d-7755-41f7-d86e-c86f6b019635"
+ },
+ "outputs": [
{
- "cell_type": "markdown",
- "id": "random-lover",
- "metadata": {},
- "source": [
- "* Go to the project and you will see 14 remaining with 1 skipped (was 29.)"
- ]
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "ERRORS dataset2: None\n",
+ "RESULT URL2: https://storage.labelbox.com/cl3ahv73w1891087qbwzs3edd%2Fdata-row-imports-results%2Fcl9rhym4l3p4x07xy1gsz301t_cl9ria9z33t2q0702ftd39bdj.json?Expires=1666988187661&KeyName=labelbox-assets-key-3&Signature=e_DUH8TN5UuoCgtoNULdttXXM_k\n"
+ ]
+ }
+ ],
+ "source": [
+ "## Example image\n",
+ "uploads = []\n",
+ "\n",
+ "# Generate data rows\n",
+ "for i in range(1, 9):\n",
+ " row = {\n",
+ " \"row_data\": f\"https://storage.googleapis.com/labelbox-datasets/People_Clothing_Segmentation/jpeg_images/IMAGES/img_000{i}.jpeg\",\n",
+ " \"global_key\": f\"ID-{uuid.uuid1()}\"\n",
+ " ## Todo add links to global key \n",
+ " }\n",
+ " uploads.append(row)\n",
+ "\n",
+ "\n",
+ "data_rows = dataset.create_data_rows(uploads)\n",
+ "\n",
+ "data_rows.wait_till_done()\n",
+ "print(\"ERRORS dataset: \" , data_rows.errors)\n",
+ "\n",
+ "print(\"RESULT URL: \", data_rows.result_url)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Attach data to your project and set data row priority"
+ ],
+ "metadata": {
+ "id": "jXTxyvTFr_gR"
+ },
+ "id": "jXTxyvTFr_gR"
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "####### Connect your dataset \n",
+ "# Dataset projects do not support batches\n",
+ "# LPO Will be deprecated for datasets, please use batches to use data row priority\n",
+ "dataset_project.datasets.connect(dataset)\n",
+ "\n",
+ "######## Create batches \n",
+ "\n",
+ "# Batch projects do not support datasets\n",
+ "\n",
+ "# Get all the data row ids from your dataset to create the batch\n",
+ "batch_datarows = [dr.uid for dr in list(dataset.export_data_rows())]\n",
+ "\n",
+ "\n",
+ "# Create the batch \n",
+ "\n",
+ "batch = batch_project.create_batch(\n",
+ " \"batch-demo\", # Each batch in a project must have a unique name\n",
+ " batch_datarows[0:2], # A list of data rows or data row ids\n",
+ " 5 # priority between 1(Highest) - 5(lowest) 5 is the max priority that can be set\n",
+ ")\n",
+ "\n",
+ "batch2 = batch_project.create_batch(\n",
+ " \"batch-demo-2\", # Each batch in a project must have a unique name\n",
+ " #Provide a slice of the data since you can't import assets with global keys that already exist in the project.\n",
+ " batch_datarows[2:4],\n",
+ " 1 # priority between 1(Highest) - 5(lowest) 5 is the max priority that can be set\n",
+ ")\n",
+ "\n",
+ "batch3 = batch_project.create_batch(\n",
+ " \"batch-demo-3\", # Each batch in a project must have a unique name\n",
+ " # Provide a slice of the data since you can't import assets with global keys that already exist in the project.\n",
+ " batch_datarows[4: len(batch_datarows)],\n",
+ " 2 # priority between 1(Highest) - 5(lowest) 5 is the max priority that can be set\n",
+ ")\n",
+ "\n",
+ "print(\"Batch: \", batch)\n",
+ "print(\"Batch2: \", batch2)\n",
+ "print(\"Batch3: \", batch3)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
},
+ "id": "kzBZ9ngLrDgB",
+ "outputId": "45cb86f9-547b-440a-9c4d-b2514a936603"
+ },
+ "id": "kzBZ9ngLrDgB",
+ "execution_count": 23,
+ "outputs": [
{
- "cell_type": "markdown",
- "id": "tribal-bundle",
- "metadata": {},
- "source": [
- "### Review Queue\n",
- "* Set the percent of labels to be reviewed "
- ]
- },
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Batch: \n",
+ "Batch2: \n",
+ "Batch3: \n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "available-bonus",
+ "metadata": {
+ "id": "available-bonus"
+ },
+ "source": [
+ "* Go to your project and you should see the numbers appear in order."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "id": "insured-enterprise",
+ "metadata": {
+ "id": "insured-enterprise",
+ "outputId": "0c3c29e0-5206-49e3-fa69-4e4d8d9ac696",
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ }
+ },
+ "outputs": [
{
- "cell_type": "code",
- "execution_count": 17,
- "id": "christian-boxing",
- "metadata": {},
- "outputs": [],
- "source": [
- "# You can set the percent of labels to be sent to the review queue by running\n",
- "# Can be 0 to 1 representing 0 to 100%\n",
- "project.upsert_review_queue(0.2)"
- ]
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "View the results here: https://app.labelbox.com/projects/cl9rhx7a6339l07vd7rc366n6\n",
+ "View the results here: https://app.labelbox.com/projects/cl9rhx7xx3pso07xra8caeck2\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(\"View the results here:\",\n",
+ " f\"https://app.labelbox.com/projects/{batch_project.uid}\")\n",
+ "print(\"View the results here:\",\n",
+ " f\"https://app.labelbox.com/projects/{dataset_project.uid}\")\n",
+ "# Click `start labeling` to see the images in order"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Remove Queue Order\n",
+ "- Remove all the batch priority in your project"
+ ],
+ "metadata": {
+ "id": "ZeFhTBHeLNnn"
+ },
+ "id": "ZeFhTBHeLNnn"
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "batch_project.unset_labeling_parameter_overrides(dataset.export_data_rows())"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
},
+ "id": "Z31eZfjSLKYj",
+ "outputId": "3dc1942d-43c4-4bba-9d58-0d75cc0cf34b"
+ },
+ "id": "Z31eZfjSLKYj",
+ "execution_count": 27,
+ "outputs": [
{
- "cell_type": "markdown",
- "id": "southern-brunswick",
- "metadata": {},
- "source": [
- "* Go to the project at the bottom you will see the `training data quality` section.\n",
- "* Coverage should be 20%"
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "True"
]
+ },
+ "metadata": {},
+ "execution_count": 27
}
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.8.2"
- }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Cleanup"
+ ],
+ "metadata": {
+ "id": "JeDfJJFb6XEx"
+ },
+ "id": "JeDfJJFb6XEx"
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# batch_project.delete()\n",
+ "# dataset_project.delete()\n",
+ "# dataset.delete()"
+ ],
+ "metadata": {
+ "id": "bAQ5ymKC6WLO"
+ },
+ "id": "bAQ5ymKC6WLO",
+ "execution_count": null,
+ "outputs": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.2"
},
- "nbformat": 4,
- "nbformat_minor": 5
+ "colab": {
+ "provenance": [],
+ "collapsed_sections": []
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
}
From 7a16a731e402966d7c23de02abff7ec26e8074ab Mon Sep 17 00:00:00 2001
From: Andrea Ovalle <74880762+ovalle15@users.noreply.github.com>
Date: Fri, 28 Oct 2022 10:31:03 -0400
Subject: [PATCH 2/4] Remove comment
---
examples/project_configuration/queue_management.ipynb | 1 -
1 file changed, 1 deletion(-)
diff --git a/examples/project_configuration/queue_management.ipynb b/examples/project_configuration/queue_management.ipynb
index 7bcf080d5..b7593507b 100644
--- a/examples/project_configuration/queue_management.ipynb
+++ b/examples/project_configuration/queue_management.ipynb
@@ -193,7 +193,6 @@
" row = {\n",
" \"row_data\": f\"https://storage.googleapis.com/labelbox-datasets/People_Clothing_Segmentation/jpeg_images/IMAGES/img_000{i}.jpeg\",\n",
" \"global_key\": f\"ID-{uuid.uuid1()}\"\n",
- " ## Todo add links to global key \n",
" }\n",
" uploads.append(row)\n",
"\n",
From 2136a13e6c6fe038ae90e5a1054eb59a36e1ccc9 Mon Sep 17 00:00:00 2001
From: Andrea Ovalle <74880762+ovalle15@users.noreply.github.com>
Date: Wed, 2 Nov 2022 09:25:43 -0400
Subject: [PATCH 3/4] Remove "set benchmark labels text"
out of scope ? I can add to my to-do list how to set a benchmark label
---
examples/project_configuration/queue_management.ipynb | 1 -
1 file changed, 1 deletion(-)
diff --git a/examples/project_configuration/queue_management.ipynb b/examples/project_configuration/queue_management.ipynb
index b7593507b..8a6df3998 100644
--- a/examples/project_configuration/queue_management.ipynb
+++ b/examples/project_configuration/queue_management.ipynb
@@ -51,7 +51,6 @@
"* We can do any of the following:\n",
" * Set the number of times we want an image labeled\n",
" * Referred to as `Consensus` in the front end\n",
- " * Set Benchmark labels \n",
" * Set the order of items in the queue\n",
" * Set the percent of assets to review"
]
From 1722cb0041056badc897606d3781646586b9469f Mon Sep 17 00:00:00 2001
From: Andrea Ovalle <74880762+ovalle15@users.noreply.github.com>
Date: Wed, 2 Nov 2022 09:27:40 -0400
Subject: [PATCH 4/4] Clean up lb import
---
examples/project_configuration/queue_management.ipynb | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/examples/project_configuration/queue_management.ipynb b/examples/project_configuration/queue_management.ipynb
index 8a6df3998..250aa3517 100644
--- a/examples/project_configuration/queue_management.ipynb
+++ b/examples/project_configuration/queue_management.ipynb
@@ -77,8 +77,7 @@
},
"outputs": [],
"source": [
- "from labelbox import Client, LabelingFrontend, MediaType\n",
- "from labelbox.schema.ontology import OntologyBuilder\n",
+ "from labelbox import Client, LabelingFrontend, OntologyBuilder, MediaType\n",
"from labelbox.schema.queue_mode import QueueMode\n",
"import numpy as np\n",
"from io import BytesIO\n",