tao-analyze-gaps-vlm-bcq
NVIDIA/skills
Extrahieren Sie falsch-positive und falsch-negative Lücken aus den Vorhersagen der VLM-Fragen zur binären Klassifizierung, indem Sie die Modellantworten mit den tatsächlichen Werten abgleichen, und erstellen Sie eine strukturierte JSONL-Datei sowie einen zusammenfassenden Bericht für die anschließende Ursachenanalyse.
...Alle erweiternVLM-Gap-Analyse zur binären Klassifizierung
Liest eine JSON-Datei mit VLM-Vorhersagen ein, vergleicht jede Modellantwort mit der Referenzwert und schreibt Fälle von Falsch-Positiv- (FP) und Falsch-Negativ- (FN) Ergebnissen zusammen mit einem zusammenfassenden Bericht in eine JSONL-Datei.
Zweck
Nach der Ausführung eines VLM bei einer binären Ja/Nein-Bewertungsaufgabe müssen die Vorhersagen mit den Referenzwerten verglichen werden, um Fehlerfälle zu identifizieren. Diese Funktion erstellt eine strukturierte Liste von FP- (Falsch-Positiv-) und FN- (Falsch-Negativ-)Beispielen, die von nachgelagerten RCCA-Phasen (z. B. Cosmos-Generierung, Ursachenanalyse) verwendet werden, um eine DEFT-Iteration voranzutreiben.
Verwendung
Rufen Sie die Aktion „vlm_bcq“ innerhalb des TAO-Toolkit-Datendienst-Containers mit Key-Value-Überschreibungen im Hydra-Stil auf:
gap_analysis vlm_bcq \
predictions_json=/path/to/results.json \
results_dir=/path/to/output/gaps
Fügen Sie `videos_dir` hinzu, wenn die `video_id` -Werte in den Vorhersagen relative Pfade sind:
gap_analysis vlm_bcq \
predictions_json=/Pfad/zu/results.json \
results_dir=/Pfad/zu/Ausgabe/gaps \
videos_dir=/Pfad/zu/videos/root
Zeigen Sie nach dem Lauf die FP-/FN-Zahlen aus der Datei „kpi_gaps_report.txt“ an und verweisen Sie nachgelagerte Schritte auf die Datei „kpi_gaps.jsonl“.
Eingaben
- predictions_json: Pfad zur JSON-Datei mit den Vorhersagen. Muss ein JSON-Array sein, in dem jedes Element die Felder
„video_id“,„response“und„gt“enthält.„response“und„gt“werden anhand von Wortgrenzen analysiert –„yes“oder„no“an beliebiger Stelle in der Zeichenkette werden erkannt. Beispiele, in denen beide oder keines der beiden vorhanden sind, werden mit einer Warnung übersprungen. - videos_dir (optional): Basisverzeichnis zur Auflösung relativer
video_id-Pfade. Wird dieses Feld weggelassen, werden dievideo_id-Werte als absolute Pfade verwendet.
JSON-Format der Vorhersagen:
[
{
"video_id": "/path/to/video.mp4",
"response": "Ja, es gibt eine Kollision.",
"gt": "B. Nein",
"question": "Gibt es eine Kollision?"
}
]
Ausgaben
- kpi_gaps.jsonl: Ein JSON-Objekt pro Zeile für jeden FP-/FN-Fall. Felder:
video_id(absoluter Pfad),error_type(FPoderFN),question,ground_truth,response. - kpi_gaps_report.txt: Für Menschen lesbare Tabelle mit der Gesamtanzahl der FP- und FN-Fälle.
Wenn keine Lücken gefunden werden, werden keine Dateien geschrieben und eine Meldung protokolliert.
Wichtige Parameter
| Parameter | Erforderlich | Beschreibung |
|---|---|---|
| predictions_json | Ja | Pfad zur JSON-Datei mit den Vorhersagen |
| results_dir | Ja | Ausgabeverzeichnis; wird angelegt, falls es noch nicht existiert |
| videos_dir | Nein | Basisverzeichnis für die Auflösung relativer video_id -Pfade |
Fehlermuster
| Fehler | Ursache | Behebung |
|---|---|---|
FileNotFoundError |
„predictions_json“ existiert nicht |
Überprüfen Sie den Pfad |
ValueError: Muss ein JSON-Array sein |
Die Vorhersagedatei ist keine Liste | Schließen Sie die Vorhersagen in [...] ein |
ValueError: „gt“/„response“/„video_id“ fehlt |
Bei einem Vorhersageelement fehlt ein Pflichtfeld | Überprüfen und korrigieren Sie die Vorhersagen-JSON-Datei |
| Beispiele werden stillschweigend übersprungen | „response“ oder „gt“ enthalten entweder beides oder keines von beiden: „yes“/„no“ |
Prüfen Sie die Protokolle auf Warnungen; überprüfen Sie diese Beispiele |
---
name: tao-analyze-gaps-vlm-bcq
description: Extract false-positive and false-negative gaps from VLM binary-classification-question predictions by comparing model responses against ground truth, producing a structured JSONL file and summary report for downstream root-cause analysis.
license: Apache-2.0
---
# VLM Binary Classification Gap Analysis
Reads a VLM predictions JSON, compares each model response against ground truth, and writes FP/FN failure cases to a JSONL file with a summary report.
## Purpose
After running a VLM on a binary yes/no evaluation task, the predictions need to be compared against ground truth to identify failure cases. This skill produces a structured list of FP (false positive) and FN (false negative) samples that downstream RCCA stages (e.g., cosmos generation, root cause analysis) consume to drive a DEFT iteration.
## Usage
Invoke the `vlm_bcq` action inside the TAO Toolkit data services container with Hydra-style key=value overrides:
```bash
gap_analysis vlm_bcq \
predictions_json=/path/to/results.json \
results_dir=/path/to/output/gaps
```
Include `videos_dir` when `video_id` values in the predictions are relative paths:
```bash
gap_analysis vlm_bcq \
predictions_json=/path/to/results.json \
results_dir=/path/to/output/gaps \
videos_dir=/path/to/videos/root
```
After the run, surface the FP/FN counts from `kpi_gaps_report.txt` and point downstream stages at `kpi_gaps.jsonl`.
## Inputs
- **predictions_json**: Path to predictions JSON file. Must be a JSON array where each item has `video_id`, `response`, and `gt` fields. `response` and `gt` are parsed with word-boundary matching — `'yes'` or `'no'` anywhere in the string is recognized. Samples where both or neither are present are skipped with a warning.
- **videos_dir** (optional): Base directory for resolving relative `video_id` paths. If omitted, `video_id` values are used as absolute paths.
**Predictions JSON format:**
```json
[
{
"video_id": "/path/to/video.mp4",
"response": "Yes, there is a collision.",
"gt": "B. No",
"question": "Is there a collision?"
}
]
```
## Outputs
- **kpi_gaps.jsonl**: One JSON object per line for each FP/FN case. Fields: `video_id` (absolute path), `error_type` (`FP` or `FN`), `question`, `ground_truth`, `response`.
- **kpi_gaps_report.txt**: Human-readable table with total FP/FN counts.
If no gaps are found, no files are written and a message is logged.
## Key Parameters
| Parameter | Required | Description |
|-----------|----------|-------------|
| predictions_json | Yes | Path to predictions JSON file |
| results_dir | Yes | Output directory; created if it does not exist |
| videos_dir | No | Base directory for resolving relative `video_id` paths |
## Error Patterns
| Error | Cause | Fix |
|-------|-------|-----|
| `FileNotFoundError` | `predictions_json` does not exist | Check the path |
| `ValueError: must be a JSON array` | Predictions file is not a list | Wrap predictions in `[...]` |
| `ValueError: missing 'gt'/'response'/'video_id'` | A prediction item is missing a required field | Inspect and fix the predictions JSON |
| Samples silently skipped | `response` or `gt` contains both or neither 'yes'/'no' | Check logs for warnings; inspect those samples |
Alle Dateien
6 Dateientao-analyze-gaps-vlm-bcq installieren
Laden Sie die Skill-Dateien herunter und entpacken Sie sie in Ihr Verzeichnis „.claude/skills/“.
ZIP herunterladenKlonen Sie das Repository und kopieren Sie die Skill-Dateien in Ihr Projekt.
git clone https://github.com/NVIDIA/skills/tree/main/skills/tao-analyze-gaps-vlm-bcq # Copy SKILL.md to your .claude/skills/ directory
Kopieren





Heim
