Run NuRec Validation#

This guide covers running NuRec in validation mode to evaluate a trained reconstruction checkpoint. Validation produces quality metrics and rendered output you can use to assess model performance.

This guide assumes you have already completed a training run. If you haven’t, see Reconstruct an AV Scene with NuRec first.

Validation Modes#

NuRec supports the following training and validation modes via the mode argument:

Mode

Description

train

Runs training steps only.

val

Runs validation against a trained checkpoint.

trainval

Runs both training and validation in sequence.

Run Validation#

Run validation against a trained checkpoint. The command reuses the parsed config and the final checkpoint from your training run, and writes validation artifacts back into the same output directory:

docker run --shm-size=64g --rm --gpus all \
  -e NGC_API_KEY=${NGC_API_KEY} \
  --volume <DATASET_DIR>:/workdir/dataset \
  --volume <TRAINING_OUTPUT_DIR>:/workdir/output \
  nvcr.io/nvidia/nre/nre-ga:26.04 \
  --config-name=/workdir/output/config/parsed.yaml \
  mode=val \
  resume=/workdir/output/checkpoints/last.ckpt \
  out_dir=/workdir/output

Notes:

  • <TRAINING_OUTPUT_DIR> is the top-level directory from your training run — the one that contains config/, checkpoints/, and log files.

  • This step may prompt you to configure wandb. Select option 3 to skip it.

Run Training and Validation Together#

Use mode=trainval to run training and validation as a single step — for example, in a batch pipeline where you don’t need to inspect training results before validation. NuRec trains to completion first, then automatically runs the validation pass against the final checkpoint.

To inspect training artifacts before deciding whether to validate (for example, to check convergence first), run the modes separately: mode=train followed by mode=val.

docker run --shm-size=64g --rm --gpus all \
  -e NGC_API_KEY=${NGC_API_KEY} \
  --volume <DATASET_DIR>:/workdir/dataset \
  --volume <OUTPUT_DIR>:/workdir/output \
  nvcr.io/nvidia/nre/nre-ga:26.04 \
  mode=trainval \
  out_dir=/workdir/output \
  --config-name=configs/apps/prod/Hyperion-8.1/car2sim_6cam.yaml \
  dataset.path=/workdir/dataset/pai_<CLIP_ID>.json \
  dataset.camera_ids=[<CAM1>,<CAM2>,<CAM3>] \
  dataset.lidar_ids=[lidar_top_360fov] \
  dataset.aux_data=True

Interpreting Validation Metrics#

After validation completes, open metrics.yaml in the output directory. The key field to check is test/psnr (Peak Signal-to-Noise Ratio, measured in dB) — a standard measure of reconstruction fidelity. Higher values indicate the rendered output more closely matches the reference images.

PSNR values vary by scene complexity, number of cameras, and config, but as a general guide:

  • Above 25 dB — Good reconstruction quality; typically suitable for use in a simulation platform.

  • 20–25 dB — Acceptable for some use cases; review the rendered images and depth maps to judge visually.

  • Below 20 dB — Low fidelity; investigate data quality, auxiliary data completeness, or try additional training epochs.

Also review the MP4 videos and per-frame images to catch spatial artifacts that aggregate metrics may not surface — for example, blurring around fast-moving actors or edge distortion in wide-angle cameras.

Validation Artifacts#

The validation pipeline writes the following artifacts to <TRAINING_OUTPUT_DIR>/val/:

  • metrics.yaml — Per-frame metrics and summary statistics (see Interpreting Validation Metrics).

  • Depth map images and a corresponding MP4 video.

  • Opacity map images and a corresponding MP4 video.

  • Segmentation map images and a corresponding MP4 video.

  • Log files from the validation pipeline.

Next Steps#

Once validation passes and you’re satisfied with the reconstruction quality, the scene is ready to use in your simulation platform:

To view all available arguments for training, validation, and export utilities, run the following:

docker run --shm-size=64g --rm --gpus all \
  -e NGC_API_KEY=${NGC_API_KEY} \
  nvcr.io/nvidia/nre/nre-ga:26.04 --help

To get help for a specific export utility:

docker run --shm-size=64g --rm --gpus all \
  -e NGC_API_KEY=${NGC_API_KEY} \
  nvcr.io/nvidia/nre/nre-ga:26.04 \
  <EXPORT_UTILITY_NAME> \
  --help