/diffgram

Complete training data platform for machine learning delivered as a single application.

Primary LanguagePythonOtherNOASSERTION


DocsDiffgram.comJoin Slack Community EnterpriseTwitter

Training Data Platform in One Application

Complete training data platform for machine learning delivered as a single application.

Open Source Data Labeling, Workflow, Automation, Exploring, Streaming, and so much more!

What is Diffgram?

Diffgram is multiple training data tools in one single application.

  1. Ingest - Magic Wizard
  2. Store - Source of Truth for Training Data
  3. Workflow - Human Tasks
  4. Annotation - Image & Video Labeling. Audio, Text, 3D coming soon.
  5. Annotation Automation - Customizable
  6. Stream to Training - Direct to PyTorch & Tensorflow Memory
  7. Explore - Query & Visually See Annotations
  8. Debug - Compare Models & More
  9. Secure and Private

Diffgram is Open Source and Client Installed. Quickstart

Who is Diffgram for?

Data Scientists, Project Admins, Software Engineers, Data Annotators and Subject Matter Experts.

What problem does Diffgram solve?

The current state of multiple tools is a huge pain. Integrating these complex toolchains, context switching, human training, costs for multiple applications all add up.

Why Diffgram?

Diffgram solves this by bringing all the functions of a complex toolchain directly into one application. Providing multiple tools with one single integrated application.

What are Diffgram’s competitive advantages?

One single Application with all the features you require.

Disclaimer

Enterprise Questions? Please contact us.

Support & Community

  1. Open an issue (Technical, bugs, etc)
  2. 😍 Join us on slack!
  3. Forum (Coming Soon)

Security issues: Do not create a public issue. Email security@diffgram.com with the details. Docs

Quickstart

Try Diffgram Online (Hosted Service, No Setup.)

Diffgram Dev Installer Quickstart

Install with Docker and Docker Compose

git clone https://github.com/diffgram/diffgram.git
cd diffgram
pip install -r requirements.txt
python install.py
# Follow the installer instruction and 
# After install:  View the Web UI at: http://localhost:8085

Read also our Docker compose commands cheat-sheet

Bugs and Issues

If you see any missing features, bugs etc please report them ASAP to diffgram/issues.

Contributing

See Contribution Guide for more. More on Understanding Diffgram High Level

Cloud

Cloud logos

Full support for Amazon AWS, Google Cloud, and Microsoft Azure.

Run Diffgram on and access data from any of the clouds.

Other Getting Started Docs:

What is Diffgram a drop in replacement for?

Diffgram is a drop in replacement for the following systems: Labelbox, CVAT, SuperAnnotate, Label Studio (Heartex), V7 Labs (Darwin), BasicAI, SuperbAI, Kili-Technology, HastyAI, Dataloop, Keymakr, ActiveLoop, DVC, Scale Nucleus.

Please see the roadmap and talk with us if you see a missing feature.

How much does this cost?

If you have less than 20 people and manage your own Diffgram instance there is no licensing cost. You can install Diffgram and use it with hundreds of thousands of annotations for free.

If you desire additional support, feature prioritization, etc. we have packages available.

When do I need to upgrade?

We charge based on capacity. If you have 20+ people then the first step is upgrading to Enterprise Edition. This unlocks capacity, adds support and many other features.

If you are planning to do millions, billions, or even a trillion+ annotations then Diffgram Enterprise is for you! Diffgram Enterprise can help you scale every aspect of your training data.

Roadmap

2021:

  1. Interfaces 3D, Text, Audio

2022:

  1. Save on labeling costs by only labeling most relevant data. Active Learning.
  2. Save QA costs by using model to debug humans. Explore V2
  3. Save on labeling costs by using interactive automations. Userscripts V2
  4. Scale: Support for up to 1,000+ QPS and up to 10 Billion annotations per install.

2023:

  1. Scale: Support for up to 10,000+ QPS and up to 500+ Billion annotations. Roadmap

We welcome you to create issues, join our slack channel, and help shape our roadmap. Are you an Enterprise customer? Talk to us about priority implementations.

Built for Extreme Scale

Diffgram has many great features no matter the volume of annotation. Diffgram is unique in that we think about scale across all aspects of the system.

Do any of these apply to you?

  • Models running in staging or production?
  • Are using pre-labels or interactive automations?
  • Need versioning?
  • Have expanding use cases or need better model performance?
  • Expanding your annotation team or needs? Have multiple teams accessing training data?
  • Using complex data types like video, 3D, multi-modal?

These things all stack to make for 10, 100, 1000x+ increases in volumes of annotation needs.

A single Diffgram install is capable of 100,000,000+ (100 Million+) annotations. We plan to scale it to support 10,000,000,000 (10 Billion+) per install in 2022. More on Scale

Examples of things we think about for you that go beyond the literal numbers:

  • Is this cost effective at scale? If you need an automation to produce millions of instances, how can we do that in a way that approaches $0?
  • What does access time for data look like when the volume is 10x 100x 1000x+?
  • What does the annotator experience look like if the system is at max ingestion capacity?
  • How does a new team get data in and out of Diffgram in an easy standard process?
  • How can teams access data across Diffgram installations? How can we serve multiple team’s needs through one unified data model?

If you need extreme scale - choose Diffgram.

Features

This is an ACTIVE project. We are very open to feedback and encourage you to create Issues and help us grow!

User Friendly

  • NEW Streamlined Annotation UI suitable both from "First Time" Subject Matter Experts, and powerful options for Professional Full Time Annotators

Standard Features

  • Many User Labeling - Designed for many users from Day 1.
  • Scale to Mega Projects with sophisticated organizational concepts.
  • Fully configurable - customize labels, attributes, and more.

Ingest

Ingest prediction data without writing extra scripts.

Store

Collaboration across teams between machine learning, product, ops, managers, and more.

  • Store virtually any scale of dataset and instantly access slices of the data to avoid having to download/unzip/load.
  • Fast access to datasets from multiple machines. Have multiple Data Scientists working on the same data.
  • Integrates with your tools and 3rd party workforces. Integrations It's a database for your training data, both metadata and access of raw BLOB data (over top of your storage choice).

Workflow

Manage Annotation Workflow, Tasks, Quality Assurance and more.

  • One click create human review Pipelines.
  • Webhooks with Actions
  • Easily annotate a single dataset, or scale to hundreds of projects with thousands of subdivided task sets. Includes easy search and filtering.
  • Fully integrated customizable Annotation Reporting.
  • Continually upgrade your data, including easily adding more depth to existing partially annotated sets.

Annotation

Fully featured data annotation tool for images and video to create, update, and maintain high quality training datasets.

Schema (Ontology): Diffgram supports all popular attributes and spatial types including Custom Spatial types. (Best Data Annotation for AI/ML)

Annotation Automation

Run models instantly with Javascript or make API calls to any language of your choice.

General purpose automation language, solve any annotation automation challenge. Less annotation and automation costs.

Stream to Training

Easier and faster for data science. Less compute cost. More privacy controls. Load streaming data from Diffgram directly into pytorch and tensorflow with one line (alpha release live!)

Explore

Skip downloading and unzipping massive datasets. Explore data instantly through the browser.

Debug

Use your models to debug the human. Visually see errors.

Diffgram is an amazing way to access, view, compare, and collaborate on datasets to create the highest quality models. Because these features are fully integrated with the Annotation Tooling, it's absolutely seamless to go from spotting an issue, to creating a labeling campaign, updating schema, etc to correct it.

  • Uncover bad data and edge cases
  • Curate data and send for labeling with one click
  • Automatic error highlighting (Coming Soon)

Secure and Private

  • Runs on your local system or cloud. Less lag, more secure, more control. Security and Privacy
  • Enforce PII & RBAC automatically across life-cycle of training data from ingest to dataset to model predictions and back again (Coming Soon)

Tested and Stable Core

Fully integrated automatic test suite, with comprehensive End to End tests and many unit tests.

Flexible & Scaleable

  1. Flexible deploy and many integrations - run Diffgram anywhere in the way you want.
  2. Scale every aspect - from volume of data, to number of supervisors, to ML speed up approaches.
  3. Fully featured - 'batteries included'.

Docs

Vision

  1. Application: Support all popular media types for raw data; all popular schema, label, and attribute needs; and all annotation assist speed up approaches
  2. Support all popular training data management and organizational needs
  3. Integrate with all popular 3rd party applications and related offerings
  4. Support modification of source code
  5. Run on any hardware, any cloud, and anywhere

Technical Direction - Long Term

Speed Ups & AI

Latest AI + More

Integrations

Note for initial open core release Actions Hooks are not yet available. Please see Diffgram.com and use them there if needed.

Contributing

We welcome contributions! Please see our contributing documentation.

Architecture & Design Docs

We plan to release more internal architecture docs over time. Please see the general docs in the mean time.

Comparison Disclaimer

IMPORTANT Disclaimer: Our opinions based on how we define the above categories. Subject to change. A vendor may offer something in one of these categories that doesn’t meet our definition of the category. Some Diffgram checkmarks include items coming soon.