Userscript FAQ

When should we use Userscripts and when Pre-Label?

In general Pre-Label is best for:

  1. Improving your own model
  2. Bulk loading cases
  3. Cases where it's already run

Userscripts are best for:

  1. Interactive. Where the user's input makes a difference.

For example:
a) Guided models, eg user selects a box as a region of interest to focus an existing model
b) Unrelated model. For example your goal may be "people on cellphones" data. You can use an existing people detection model to get the bounding boxes and then focus the effort on the Attributes such as "on cellphone/not on cellphone".
c) Multiple interactions. Such as a tracking algorithm that may require multiple user corrections.

You can even use them together!
For example you can start with pre-labeled data, and then run a userscript for a different class, or tracking, verification, etc.

Why am I writing my own script?

You may also be familiar with some tools like Photoshop that offer context aware "magic" tools.

In the current context of Supervised AI data we generally think it's best for user's machine learning team to control this more directly. Put simply, it's a cleaner scope of responsibility. We provide the hooks, outputs, setup integrations etc to make it run.

And we provide samples etc. The benefit to you is:
More control. You (or your engineers) setup your project exactly what's relevant to your case. There is so much variance in approaches that what's "obvious" to someone looking at their own data is often not even on the radar of someone else. This gives your ML team the ability to improve results directly - including your own secret sauce.

It's super easy to get started
a) Off the shelf methods available.
We provide a variety of examples. Some of these can actually be used directly if they happen to be relevant to your use case. Others can be used with mild adjustments. You can even use your own models. Over time we aim to improve these and grow this "base case". The goal is for these examples to be the best available "off the shelf" - and with easy controls for your to further upgrade them to your specific case.

b) Community methods
Becuase this format is so easily shareable and can use NPM modules it's really easy to stay up to date and leverage the latest the community offers. At the time of writing this is mostly packages from NPM and example model zoos like tensorflows and ml5js. Overtime our goal is to have a zoo of diffgram userscript specific implementations.