tao-analyze-gaps-vlm-bcq
NVIDIA/skills
Извлечь ложноположительные и ложноотрицательные пробелы из прогнозов VLM по вопросам бинарной классификации путем сравнения ответов модели с эталонными данными, сформировав при этом структурированный файл JSONL и сводный отчет для последующего анализа первопричин.
...Расширить всеАнализ разрыва в бинарной классификации VLM
Считывает JSON-файл с прогнозами VLM, сравнивает каждый ответ модели с эталонными данными и записывает случаи ошибок (FP/FN) в файл JSONL вместе с сводным отчетом.
Цель
После запуска VLM для задачи бинарной оценки «да/нет» прогнозы необходимо сравнить с эталонными данными, чтобы выявить случаи ошибок. Данный навык формирует структурированный список образцов FP (ложноположительных) и FN (ложноотрицательных), которые используются последующими этапами RCCA (например, генерацией космоса, анализом первопричин) для запуска итерации DEFT.
Использование
Вызовите действие vlm_bcq внутри контейнера служб данных TAO Toolkit с переопределениями ключ=значение в стиле Hydra:
gap_analysis vlm_bcq \
predictions_json=/path/to/results.json \
results_dir=/path/to/output/gaps
Укажите параметр videos_dir, если значения video_id в прогнозах являются относительными путями:
gap_analysis vlm_bcq \
predictions_json=/path/to/results.json \
results_dir=/path/to/output/gaps \
videos_dir=/path/to/videos/root
После выполнения извлеките данные о количестве FP/FN из файла kpi_gaps_report.txt и укажите последующим этапам файл kpi_gaps.jsonl.
Входные данные
- predictions_json: путь к файлу JSON с прогнозами. Должен представлять собой массив JSON, в котором каждый элемент содержит поля
video_id,responseиgt.Поля responseиgtанализируются с учетом границ слов — распознаетсяналичие «yes»или«no»в любой части строки. Образцы, в которых присутствуют оба слова или ни одно из них, пропускаются с выводом предупреждения. - videos_dir (необязательно): Базовый каталог для преобразования относительных путей
video_id. Если не указан, значенияvideo_idиспользуются как абсолютные пути.
Формат JSON с прогнозами:
[
{
"video_id": "/path/to/video.mp4",
"response": "Yes, there is a collision.",
"gt": "B. Нет",
"question": "Есть ли конфликт?"
}
]
Выходные данные
- kpi_gaps.jsonl: по одному объекту JSON в строке для каждого случая FP/FN. Поля:
video_id(абсолютный путь),error_type(FPилиFN),question,ground_truth,response. - kpi_gaps_report.txt: Удобная для чтения таблица с общим количеством FP/FN.
Если пробелов не обнаружено, файлы не записываются, а в журнал записывается сообщение.
Ключевые параметры
| Параметр | Обязательный | Описание |
|---|---|---|
| predictions_json | Да | Путь к файлу JSON с прогнозами |
| results_dir | Да | Каталог вывода; создается, если не существует |
| videos_dir | Нет | Базовый каталог для преобразования относительных путей video_id |
Шаблоны ошибок
| Ошибка | Причина | Исправление |
|---|---|---|
FileNotFoundError |
Файлpredictions_json не существует |
Проверьте путь |
ValueError: должно быть массивом JSON |
Файл прогнозов не является списком | Оберните прогнозы в [...] |
ValueError: отсутствует 'gt'/'response'/'video_id' |
В элементе прогноза отсутствует обязательное поле | Проверьте и исправьте JSON-файл с прогнозами |
| Образцы пропущены без уведомления | В response или gt присутствуют оба значения «yes»/«no» или ни одного из них |
Проверьте журналы на наличие предупреждений; проанализируйте эти образцы |
---
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 |
Все файлы
6 файловУстановить tao-analyze-gaps-vlm-bcq
Скачайте файлы навыков и распакуйте их в каталог .claude/skills/.
Скачать ZIPКлонируйте репозиторий и скопируйте файлы навыка в свой проект.
git clone https://github.com/NVIDIA/skills/tree/main/skills/tao-analyze-gaps-vlm-bcq # Copy SKILL.md to your .claude/skills/ directory
Копировать





Дом
