option
MaisonMaison Skill Science des données et ML tao-analyze-gaps-vlm-bcq

tao-analyze-gaps-vlm-bcq

NVIDIA/skills NVIDIA/skills

Extraire les écarts de type « faux positif » et « faux négatif » des prédictions de VLM concernant les questions de classification binaire, en comparant les réponses du modèle aux données de référence, afin de générer un fichier JSONL structuré et un rapport de synthèse destinés à l'analyse en aval des causes profondes.

...Développer tout
0
Heure mise à jour 25 septembre 2026

Analyse des écarts de classification binaire VLM

Lit un fichier JSON contenant les prédictions VLM, compare chaque réponse du modèle aux valeurs de référence, puis enregistre les cas d'échec (FP/FN) dans un fichier JSONL accompagné d'un rapport de synthèse.

Objectif

Après avoir exécuté un VLM sur une tâche d’évaluation binaire « oui/non », les prédictions doivent être comparées aux données de référence afin d’identifier les cas d’échec. Cette compétence génère une liste structurée d’échantillons FP (faux positifs) et FN (faux négatifs) que les étapes RCCA en aval (par exemple, génération de cosmos, analyse des causes profondes) utilisent pour piloter une itération DEFT.

Utilisation

Appelez l’action vlm_bcq à l’intérieur du conteneur de services de données TAO Toolkit en utilisant des remplacements de type Hydra (clé=valeur) :

gap_analysis vlm_bcq \
  predictions_json=/chemin/vers/results.json \
  results_dir=/chemin/vers/output/gaps

Ajoutez videos_dir lorsque les valeurs video_id dans les prédictions sont des chemins relatifs :

gap_analysis vlm_bcq \
  predictions_json=/chemin/vers/results.json \
  results_dir=/chemin/vers/output/gaps \
  videos_dir=/chemin/vers/videos/root

Une fois l’exécution terminée, extraire les comptes de FP/FN du fichier kpi_gaps_report.txt et orienter les étapes en aval vers le fichier kpi_gaps.jsonl.

Entrées

  • predictions_json: chemin d’accès au fichier JSON des prédictions. Doit être un tableau JSON dont chaque élément comporte les champs video_id, response et gt. Les champs response et gt sont analysés selon une correspondance au niveau des mots — les chaînes « yes » ou « no » sont reconnues où qu’elles apparaissent dans la chaîne de caractères. Les échantillons où les deux sont présents ou où aucun n’est présent sont ignorés avec un avertissement.
  • videos_dir (facultatif) : répertoire de base pour la résolution des chemins relatifs video_id. S’il est omis, les valeurs video_id sont utilisées comme chemins absolus.

Format JSON des prédictions :

[
  {
    "video_id": "/path/to/video.mp4",
    "response": "Oui, il y a une collision.",
    "gt": "B. Non",
    "question": "Y a-t-il une collision ?"
  }
]

Sorties

  • kpi_gaps.jsonl: un objet JSON par ligne pour chaque cas de FP/FN. Champs : video_id (chemin absolu), error_type (FP ou FN), question, ground_truth, response.
  • kpi_gaps_report.txt: tableau lisible par l’utilisateur indiquant le nombre total de FP et de FN.

Si aucun écart n’est détecté, aucun fichier n’est généré et un message est consigné dans le journal.

Paramètres clés

Paramètre Obligatoire Description
predictions_json Oui Chemin d'accès au fichier JSON des prédictions
results_dir Oui Répertoire de sortie ; créé s'il n'existe pas
videos_dir Non Répertoire de base pour la résolution des chemins relatifs vers les identifiants vidéo (video_id)

Modèles d'erreur

Erreur Cause Solution
FileNotFoundError Le fichierpredictions_json n'existe pas Vérifiez le chemin d'accès
ValueError : doit être un tableau JSON Le fichier de prédictions n'est pas une liste Encadrez les prédictions entre [...]
ValueError : « gt », « response » ou « video_id » manquant Il manque un champ obligatoire dans un élément de prédiction Vérifiez et corrigez le fichier JSON des prédictions
Échantillons ignorés sans message d'erreur « response » ou « gt » contiennent à la fois « yes » et « no », ou aucun des deux Vérifiez les journaux pour détecter d’éventuels avertissements ; examinez ces échantillons
Voir sur GitHub
---
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 |

Installer tao-analyze-gaps-vlm-bcq

Téléchargez et décompressez les fichiers de compétences dans votre répertoire .claude/skills/.

Télécharger le ZIP

Clonez le dépôt et copiez les fichiers de compétence dans votre projet.

git clone https://github.com/NVIDIA/skills/tree/main/skills/tao-analyze-gaps-vlm-bcq # Copy SKILL.md to your .claude/skills/ directory

Copier Copier
Configuration rapide: Copiez le dossier de la compétence dans .claude/skills/ Claude détectera automatiquement la compétence et l'utilisera
Dépôt NVIDIA/skills

Compétences similaires

web-search
Heure mise à jour 29 juin 2026
webapp-testing
Heure mise à jour 29 juin 2026
lark-base
Heure mise à jour 5 juillet 2026
agentmail
Heure mise à jour 29 juin 2026
OR