Active learning curve
Overview
Records how mAP on a fixed labeled set grows as an active learning loop adds labeled images, one point per cycle. When a full-data evaluation is connected, the chart also shows it as the ceiling to aim for.
Place it once inside a looping flow instead of drawing every cycle by hand. Each run extends the same curve, and the Latest mAP output lets a Condition node keep the loop running until the model is good enough.
Prerequisites
How it works
FAQ
What happens if I run the node twice on the same evaluation?
The point for that evaluation is replaced, not duplicated. Only a new evaluation adds a point.
How do I stop the loop once the model is good enough?
Wire Latest mAP into a Condition node, for example “Less than 0.9”. The loop continues while the latest mAP is below the target and stops once a cycle reaches it. If the curve flattens below the target, the loop keeps going until nothing is left to pick, so set a target the curve can reach.
How do I start a new curve?
Remove the node and add it again. The history lives in the node, so a fresh node starts from zero points.
Why are the points evenly spaced when the batches differ in size?
The x axis lists the labeled image counts as labels, not on a numeric scale. Read the counts from the labels and the per-cycle table.
Inputs
Evaluation of this cycle’s model on a fixed evaluation set, the same one every cycle. Each run adds it as one point, and running again on the same evaluation replaces that point instead of adding another. Key: EVALUATION.
Dataset this cycle’s model was trained on. Its image count is the point’s position on the x axis. Key: TRAIN_DATASET.
Evaluation of a model trained on all available data, on the same evaluation set. Drawn as a dashed reference line the curve should approach. Key: BASELINE_EVALUATION.
Outputs
Report with the curve and one row per cycle. A new report is published on every run. Shown as an artifact. Key: REPORT_ID.
mAP 50-95 of the latest point, as a plain number such as 0.6496. Wire it into a Condition node to keep the loop running until the model reaches the quality you need. Shown on the node as a badge. Key: MAP.
Number of points on the curve. Key: CYCLES.
Points recorded so far, kept so each run can extend the curve. Hidden from the flow editor. Key: HISTORY.
Models and configuration
There is nothing to configure. The mAP values come from the evaluations, so every cycle must be evaluated with the same settings on the same labeled set for the points to be comparable.
Report
Answers whether the next batch of labels is still worth it: a curve that flattens below the full-data line means each cycle buys less.
Report sections
- Summary: latest mAP, labeled images, number of cycles and, with a baseline, the gap to it.
- mAP by labeled images: mAP 50-95 and mAP 50 per cycle, with the baseline as dashed lines.
- Cycles: one row per cycle with its image count, both mAP values, the change against the cycle before, and the model version.
Runtime
Runs on an ordinary worker without a GPU. Counting the training set is the only work that grows with data size.
JSON config
Machine-readable node interface for automation and advanced usage.