Skip to main content

RedBrick platform Python SDK!

Project description

Introduction

This is an SDK to make integration with the RedBrick platform as easy as possible. This includes uploading and downloading data as well as making your datasets easily available for training. Use this SDK to access your data and labels anywhere you run your code, whether that is on the cloud or locally with a Jupyter Notebook.

Please feel free to submit issues on github or at support@redbrickai.com if you run into any problems or have suggestions.

Quickstart

After creating an account on app.redbrickai.com,

pip install --upgrade redbrick-sdk

You'll need to get your API key before you can utilize the SDK.

"""redbrick quickstart."""
import redbrick

api_key = "<>"
url = "https://api.redbrickai.com"
org_id = "<>"
project_id = "<>"
project = redbrick.get_project(api_key, url, org_id, project_id)

Importing data

There is a single way to import data into your project through the sdk. This is done using the create datapoint api.

An example using a "Public" storage method is given below

# default public storage method
storage_id = "11111111-1111-1111-1111-111111111111"

datapoints = [
    {
        "name": "my first upload",
        "items": [
            "http://datasets.redbrickai.com/car-vids/car-1/frame20.png"
        ]
    }
]
failed_to_create = project.upload.create_datapoints(storage_id, datapoints)


# Datapoint object definition
{
    # REQUIRED: must be unique within a project
    "name": "my first upload",
    # List of urls or item paths, depending on your storage method
    "items": [
        "http://datasets.redbrickai.com/car-vids/car-1/frame20.png"
    ],
    # List of RedBrick Label objects
    "labels":  [<Label object>]

}

Exporting data from your project

import json

result = project.export.redbrick_format()

with open("export.json", "w+") as file_:
    json.dump(file_, result, indent=2)

COCO Format

Coco format is supported for bounding box and polygon image projects. All other label types will be ignored.

To export into this format, use the following code snippet:

coco_data = project.export.coco_format()

Image masks

In order export into image masks for image segmentation projects, use the following:

import os

project.export.png_masks(os.path("."))

This will produce a directory named "redbrick_masks" inside of the directory you specified.

Active Learning

Each cycle of active learning involves three steps:

  1. Data Export:

    • Get the unlabeled data, the labeled data, and the categories
  2. Training, inference, and prioritization:

    • Using the labeled and unlabeled data, perform an algorithmic process to generate a score for each unlabeled datapoint float[0, 1].
    • Optionally generate labels to use as prelabels in the labeling process.
  3. Upload results to RedBrick

    • Send the scores and optional labels to update your project
# 1. Get data
data = project.learning.get_learning_info()
# 2. perform your processing
training(data["labeled"], data["taxonomy"])

results = inference_and_sort(data["unlabeled"], data["taxonomy"])
# 3. Update your project
project.learning.update_tasks(results)

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

redbrick-sdk-0.5.2b0.tar.gz (25.9 kB view hashes)

Uploaded Source

Built Distribution

redbrick_sdk-0.5.2b0-py3-none-any.whl (37.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page