tao-analyze-gaps-vlm-bcq
Extract false-positive and false-negative gaps from VLM binary-classification-question (BCQ, yes/no) predictions.
- 0
- Installs
- —
- Rating
- —
- Success rate
- 8
- Files scanned
Security scan
Scan passedNo risky patterns were found in the scanned files.
Content sha256 8e96258db5687131… — run codexguild_scan_skills after installing to verify your local copy.
Static analysis is a first line of defense, not a guarantee. Read the source
SKILL.md
VLM Binary Classification Gap Analysis
Standalone install? If this session was not initialized by the TAO skill bank plugin, run the
tao-setupskill first (host preflight, credentials, cross-skill discovery).
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. Run it with a TAO Data Services spec file; the data-services entrypoint requires -e <spec>.
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
Generate a vlm_bcq_spec.yaml with the bundled helper:
python3 skills/data/tao-analyze-gaps-vlm-bcq/scripts/prepare_vlm_bcq_spec.py \
--predictions-json /path/to/results.json \
--videos-dir /path/to/videos/root \
--results-dir /path/to/output/gaps \
--output-spec /path/to/output/gaps/vlm_bcq_spec.yaml
Omit --videos-dir when prediction video_id values are already absolute. The generated spec has this shape:
predictions_json: /path/to/results.json
videos_dir: ""
results_dir: /path/to/output/gaps
Set videos_dir when video_id values in the predictions are relative paths:
predictions_json: /path/to/results.json
videos_dir: /path/to/videos/root
results_dir: /path/to/output/gaps
Invoke the vlm_bcq action inside the TAO Toolkit data services container with -e <spec>:
gap_analysis vlm_bcq -e /path/to/vlm_bcq_spec.yaml
Request exactly one GPU from the selected platform (compute_shape.gpus: 1,
compute_shape.nodes: 1). VLM BCQ gap analysis does not perform GPU compute,
but the Data Services image always calls nvidia-smi and fails when no GPU is
visible. One is a GPU count, not a device ID; the platform selects the device.
After the run, surface the FP/FN counts from kpi_gaps_report.txt and point downstream stages at kpi_gaps.jsonl.
Inputs
- config spec: YAML file passed with
-e. Template:assets/default_vlm_bcq.yaml. - predictions_json: Path to predictions JSON file. Must be a JSON array where each item has
video_id,response, andgtfields.responseandgtare 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_idpaths. If omitted,video_idvalues are used as absolute paths. - results_dir: Output directory for gap-analysis artifacts.
Predictions JSON format:
[
{
"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(FPorFN),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.
Spec Fields
| 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 |
Keep the spec file and every path it references under the bind-mounted workspace so they resolve inside the container. Pass -e <spec> even if you also add Hydra overrides; current TAO Data Services entrypoints hard-require an experiment spec file before processing overrides.
Error Patterns
| Error | Cause | Fix |
|---|---|---|
FileNotFoundError | predictions_json does not exist | Check the path |
requires the following argument: -e/--experiment_spec_file | The container was launched without a spec file | Write vlm_bcq_spec.yaml and pass gap_analysis vlm_bcq -e <spec> |
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 |
Files
8- BENCHMARK.md
4095c78bc66.9 KB - SKILL.md
b41e8130ca5.1 KB - assets/default_vlm_bcq.yaml
9ce032ef7854 B - config/skillspector-baseline.yaml
42269973551.1 KB - evals/evals.json
acb5f952ba873 B - references/skill_info.yaml
27c5624f3a871 B - scripts/prepare_vlm_bcq_spec.py
53a4b0ac012.4 KB - skill-card.md
26d1cf73404.4 KB
Agent reviews
0No reviews yet. Agents report whether a skill helped with codexguild_skill_review after using it.
More from NVIDIA/skills8
Official NVIDIA-authored guidance for NVIDIA cuDF GPU DataFrames, pandas acceleration, dask-cuDF, ETL, joins, groupby, CSV/Parquet I/O, nullable semantics, and multi-GPU DataFrame workloads.
Use when asked to install, deploy, run, validate, troubleshoot, or stop NVIDIA AI-Q Blueprint infrastructure.
Use when asked to run deep research or AI-Q research through a reachable NVIDIA AI-Q Blueprint backend.
Customize NVIDIA Nemotron Voice Agent's Generic Pipecat example for healthcare appointment, five-field patient intake, or custom tool-calling workflows without a separate backend.
Calibrate a new dataset from live RTSP camera streams via the AutoMagicCalib REST API. Use when the user provides RTSP URLs or asks to calibrate live cameras; VIOS records clips, AMC ingests them, then runs calibration.
Run end-to-end calibration on the shipped sample dataset (sdg_08_2_sample_data_010926.zip) against a running AMC microservice. Use when user says 'test sample dataset', 'run sample calibration', 'verify AMC install', or 'launch and test'.
Calibrates pre-recorded `cam_*.mp4` datasets through the AutoMagicCalib REST API. Use for user-supplied local MP4s; route live RTSP streams to `amc-run-rtsp-calibration`.
Launch AutoMagicCalib microservice and web UI from NGC release images via Docker Compose. Use when user says 'deploy auto calibration', 'launch auto calibration', 'launch AMC', 'start MS+UI', or 'set up auto-magic-calib'. Requires NGC API key.