Simulate labeling with live training
Overview
Labels a dataset that already has ground truth through a live training session, one image at a time, the way a labeler would in the labeling tool. For each image the session first guesses its boxes, then gets the ground truth annotation as if a labeler had submitted it, and trains for a while before the next image opens.
It lets you find out how fast a live training session learns your data before anyone labels by hand. Every pre-label the session made goes to the Prediction history output, tagged with the training iteration it came from. Wire that into Evaluate live training prelabeling, with the same dataset as its labeled images, to see how much of the work the pre-labels would have saved, and how that grew as the session learned. The node badge shows how many images were labeled, the iteration the session reached, and what ended the last wait.
Prerequisites
How it works
Reads the images of Labeled images that carry an annotation, in a random order that is the same on every run when Shuffle images is on.
For each image, asks the session for a pre-label with the weights it has at that moment and keeps it in a new version of the prediction history. Then submits the image with its ground truth annotation and lets the session train for Iterations per image, or less if it pauses because its loss stopped falling.
FAQ
Why are the first images missing from the prediction history?
A session refuses to predict until it knows a class, which it learns from the first submitted image. Images it refuses are still submitted and trained on, only without a pre-label, so they aren’t in the history.
Why does the run fail saying the session never started training?
A session trains only once it holds a minimum number of labeled images with objects, set by initial_samples in its config. If the dataset has fewer annotated images than that, the session never trains. Label more images, or lower initial_samples in the session’s config.
What happens when the session already holds labeled images?
The run goes ahead and logs a warning: the session doesn’t start from scratch, so its pre-labels are better than a fresh session’s would be. Start a new session for a measurement you can compare.
What happens when I run it again?
Every run adds a new version of the prediction history with that run’s pre-labels. With Shuffle images on, the images come in the same order every time, so two runs on fresh sessions compare directly. Images the session trained on in an earlier run are pre-labeled from memory.
What fails the run?
A dataset with no annotated image, a session that doesn’t answer within 30 minutes, and a session whose training stops with an error.
Inputs
Running live training session to label with. Start it fresh, or images it has already trained on are pre-labeled from memory. Key: DEPLOYMENT.
Images to label, each with its annotation as what the labeler submits. Images with no annotation are skipped. Key: DATASET.
Label the images in a random order, the same on every run, instead of the dataset’s own order. Keep it on when the dataset is sorted by scene or by class, or the first images teach the session only part of it. Key: SHUFFLE.
Training iterations the session runs after each submitted image before the next one is opened - the time a labeler spends on an image, counted in training rather than in seconds. A session that pauses because its loss stopped falling moves on sooner. Minimum: 0. Maximum: 10000. Step: 5. Key: ITERATIONS_PER_IMAGE.
After the last image, wait until the session pauses because its loss stopped falling, or has trained this many more iterations, so a node pre-labeling after this one uses the session at its best. The session keeps training afterwards either way. Minimum: 0. Maximum: 100000. Step: 50. Key: FINAL_ITERATIONS.
Outputs
Hidden dataset of every labeled image with the pre-label the session opened it with, tagged with the session and its training iteration. Wire it into Prediction history of Evaluate live training prelabeling, with Labeled images as its Labeled images. Every run adds a version. Key: PREDICTION_HISTORY.
How many images were labeled, the training iteration the session reached, and what ended the last wait. Shown on the node as a badge. Key: TRAINED.
JSON config
Machine-readable node interface for automation and advanced usage.