tao-analyze-gaps-vlm-bcq

Par nvidia · skills

Extrait les écarts de faux positifs et de faux négatifs à partir des prédictions d'un VLM sur des questions de classification binaire (BCQ, oui/non).

npx skills add https://github.com/nvidia/skills --skill tao-analyze-gaps-vlm-bcq

Analyse des écarts de classification binaire VLM

Lit un JSON de prédictions VLM, compare chaque réponse du modèle par rapport à la vérité terrain, et écrit les cas d'échec FP/FN dans un fichier JSONL avec un rapport récapitulatif.

Objectif

Après avoir exécuté un VLM sur une tâche d'évaluation binaire oui/non, les prédictions doivent être comparées à la vérité terrain pour identifier les cas d'échec. Cette skill produit 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 cosmos, analyse des causes racines) consomment pour piloter une itération DEFT.

Utilisation

Invoquez l'action vlm_bcq dans le conteneur TAO Toolkit data services avec des surcharges de style Hydra clé=valeur :

gap_analysis vlm_bcq \
  predictions_json=/path/to/results.json \
  results_dir=/path/to/output/gaps

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

gap_analysis vlm_bcq \
  predictions_json=/path/to/results.json \
  results_dir=/path/to/output/gaps \
  videos_dir=/path/to/videos/root

Après l'exécution, exposez les compteurs FP/FN de kpi_gaps_report.txt et pointez les étapes en aval vers kpi_gaps.jsonl.

Entrées

  • predictions_json : Chemin vers le fichier JSON de prédictions. Doit être un tableau JSON où chaque élément contient les champs video_id, response et gt. response et gt sont analysés avec une correspondance aux limites des mots — 'yes' ou 'no' n'importe où dans la chaîne est reconnu. Les échantillons où les deux sont présents ou aucun n'est présent sont ignorés avec un avertissement.
  • videos_dir (optionnel) : Répertoire de base pour résoudre les chemins video_id relatifs. S'il est omis, les valeurs video_id sont utilisées comme chemins absolus.

Format du JSON de prédictions :

[
  {
    "video_id": "/path/to/video.mp4",
    "response": "Yes, there is a collision.",
    "gt": "B. No",
    "question": "Is there a collision?"
  }
]

Sorties

  • kpi_gaps.jsonl : Un objet JSON par ligne pour chaque cas FP/FN. Champs : video_id (chemin absolu), error_type (FP ou FN), question, ground_truth, response.
  • kpi_gaps_report.txt : Tableau lisible par l'humain avec les compteurs totaux FP/FN.

Si aucun écart n'est trouvé, aucun fichier n'est écrit et un message est enregistré.

Paramètres clés

Paramètre Requis Description
predictions_json Oui Chemin vers le fichier JSON de prédictions
results_dir Oui Répertoire de sortie ; créé s'il n'existe pas
videos_dir Non Répertoire de base pour résoudre les chemins video_id relatifs

Modèles d'erreur

Erreur Cause Correction
FileNotFoundError predictions_json n'existe pas Vérifiez le chemin
ValueError: must be a JSON array Le fichier de prédictions n'est pas une liste Encapsulez les prédictions dans [...]
ValueError: missing 'gt'/'response'/'video_id' Un élément de prédiction est dépourvu d'un champ requis Inspectez et corrigez le JSON de prédictions
Échantillons ignorés silencieusement response ou gt contient à la fois ou ni 'yes'/'no' Vérifiez les journaux pour les avertissements ; inspectez ces échantillons

Skills similaires