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",