Dataset insights
Overview
Reads the statistics of a dataset and writes a short report saying what they mean for training: what is wrong, what follows from it, and what is still unknown. Each finding gets a severity and is backed by a chart, a table, or images from the report.
Annotation quality charts the same numbers. What it cannot do is judge them, because the judgement depends on the dataset: a 6:1 frame threatens small objects, a 16:9 frame is ordinary. This node makes that call per run instead of baking it into a template. Connect the reports of other analysis nodes, such as Annotation quality, Image quality, Find annotation gaps, Similar pairs, Label diagnostics, Embedding anomalies, Evaluate object detection or Evaluate prelabeling efficiency, to Findings from other nodes, and their findings are ranked and written up in the same report. When several of them count the same problem, for example an evaluation and a prelabeling check both finding unlabeled objects, it gets one section with the other counts named in it.
Currently supports only image datasets. The badge shows how many findings the report holds.
Prerequisites
How it works
Measures the dataset’s annotations, reusing whatever the shared statistics store already holds — the same store Annotation quality uses, so nothing is computed twice.
Turns the statistics into findings. The questions are generated from the shape of the data, so a dataset with no tags is never asked about tags. Findings from the connected reports are added to the list.
When a connected evaluation says a model and the labels disagree, shows the model a few of those images, plus a few frames picked at random, with the labels and the predictions drawn side by side. It looks at the objects and says which side is wrong, so the report can tell bad labels from a weak model. Labels are called unreliable only when the random frames show errors too.
FAQ
What is sent to the language model?
Statistics measured from the dataset, such as counts, class and tag names, and the findings and text of the connected reports. When a connected evaluation flags disagreements with the labels, up to six of those images and six random frames are sent too, with the labels and the predictions drawn on them. The request goes through the OvalBee API to the model the instance is configured with.
Why did the run fail after several attempts?
The report is checked before it is published. When the model’s text still fails the check after three attempts, the run fails rather than publish a wrong report. A failed model call also stops the run: the instance has no LLM token configured (its admin must add one in the instance settings), the workspace has no credits left for the month, or the model returned an error.
Why is a connected report missing from the findings?
Only findings the node can read are folded in. A report whose findings cannot be read is skipped and shows a dash in the sources table, while a 0 there means that node ran and found nothing.
Inputs
Dataset to analyse. Its images and annotations are measured, and the report is written about it. Key: DATASET.
Reports from other analysis nodes to fold into the findings list. Reports that carry no findings are skipped. Values come from DATASET. Key: REPORT_IDS.
Outputs
Asset ID containing the dataset insights report. Shown as an artifact. Key: REPORT_ID.
Number of findings in this report, shown as a badge. Shown on the node as a badge. Key: HEADLINE.
Findings-per-severity table the node card shows. Hidden from the flow editor. Key: SUMMARY.
Report
The report opens on an Overview tab with a verdict on the dataset and the steps to take first, then metric cards and every finding in severity order: Critical stops training until it is fixed, Warning blocks something you are about to do, Notice is real and bounded, and Passed was checked and is not a problem. Each finding has its own section with the evidence behind it and a line saying why it got its level. Findings that come only from a connected report get a tab named after that node, and a Questions tab can appear when a finding depends on how the dataset will be used. A table lists where the findings came from.
JSON config
Machine-readable node interface for automation and advanced usage.