npx skills add ...
npx skills add nvidia/nurec-skills --skill nre
Use to drive NVIDIA Omniverse NuRec / Neural Reconstruction Engine (NRE) via the public NGC containers nvcr.io/nvidia/nre/nre and nvcr.io/nvidia/nre/nre-tools (NGC_API_KEY required) — train 3DGUT Gaussian reconstructions from NCore clips, generate aux data, adapt an existing USDZ to an augmented target-vehicle rig (carline adaptation), render frames or LiDAR sweeps (local or warm `serve-grpc`), export PLY/depth/mesh/USDZ, edit actors, and evaluate metrics. Do NOT use for per-object asset capture (use `asset-harvester`) or sensor-to-NCore conversion (use `ncore`).
npx skills add nvidia/nurec-skills --skill nre
Drive the public NVIDIA Omniverse NuRec / Neural Reconstruction
Engine containers (nvcr.io/nvidia/nre/nre,
nvcr.io/nvidia/nre/nre-tools) to train a 3DGUT/3DGRT Gaussian
reconstruction from an NCore V4 camera+LiDAR clip, render novel
views (locally or via gRPC), generate aux data, export
PLY/depth/mesh/ego-mask/tracks, package Asset Harvester output
into a USDZ, and evaluate rendering metrics.
This skill carries the host-side toolkit around the NRE CLI: NGC
credential resolution, cached-image notes, local render recipes,
MP4 encoding, warm serve-grpc boot/teardown scripts, a thin
Python gRPC client for repeated RGB renders, bundled rig JSONs,
pre-baked custom-rig trajectories, and bash / Hydra / OSMO
workflow templates.
Use this skill when the user has an NCore V4 clip (or a USDZ + NRE artifact pair) on a Linux x86_64 host with an NVIDIA GPU and an NGC API key, and wants to train, render, generate aux data, export artifacts, insert/remove actors, run the gRPC server, or evaluate metrics. Concrete triggers:
nre-tools.render-grpc --lidar.export-external-assets
render-grpc --edit-assets.nvidia/PhysicalAI-Autonomous-Vehicles-NuRec.upgrade-artifact).export-parsed-config, gaussian-statistics,
eval-rendering-metrics, compute-metrics,
eval-ground-mesh).Do NOT use this skill when:
ncore skill first; NRE consumes NCore-formatted
shards).asset-harvester; NRE only consumes AH outputs via
export-external-assets).nurec-fixer). NRE's
inline --enable-difix flag is still on this skill's surface,
but the standalone harmonizer pipeline is owned by
nurec-fixer.<NAME>.zarr.itar, <NAME>.json, and any pre-generated
<NAME>.aux.*.zarr auxiliary shards). Required..zarr.itar). Required.configs/apps/AV/Waymo/3dgut_dynamic.yaml (and its
_mcmc / _road_semantic / _static siblings). These are
Waymo-only — they bake in the Waymo sensor rig and conventions./apps/prod/Hyperion-8.1/car2sim_6cam.yaml (the Hyperion-8.1
car2sim 6-camera recipe used by the Maglev PAI pipeline).
Typically referenced via the small overlay shipped at
references/configs/pai.yaml,
which extends car2sim_6cam.yaml with PAI's
lidar_top_360fov ID, six-camera validation set, and lidar
intensity supervision; mount it as
{nre_config_dir}/external_overrides.yaml and pass
--config-name=external_overrides.configs/apps/AV/{PandaSet,NV,Tesla}/… or
configs/apps/Alpasim/… recipes in
references/configuration.md.train, val, or trainval. Default: trainval.scripts/validate_setup.py via its standard script runner
(run_script("scripts/validate_setup.py"), or
python scripts/validate_setup.py [--strict]). It checks
Docker, NVIDIA Container Toolkit, GPU/driver, and
NGC_API_KEY. Resolve any FAIL line before pulling the image.references/install.md. Pull both
nvcr.io/nvidia/nre/nre:latest and
nvcr.io/nvidia/nre/nre-tools:latest.<NAME>.zarr.itar, <NAME>.json, and any <NAME>.aux.*.zarr
shards. If the NCore data is fresh, generate auxiliary data
first — see references/aux-data.md.references/cookbook.md with the
chosen Hydra --config-name, mode, dataset.path, and
out_dir. For multi-GPU append trainer.world_size=<N> trainer.num_nodes=<M> (see Workflow D). Set
checkpoint.artifact.enabled=true if you intend to render or
serve the result.export-gaussian-plys, export-mesh, export-ground-mesh,
export-ego-mask, export-depth, export-sequence-tracks,
export-ncore-tracks, …) — full surface in
references/cli-reference.md.nre render --artifact-path <usdz> writes
frames on disk along the training trajectory, with optional
rig offsets or --custom-rig-trajectory. No gRPC server.
See references/local-render.md.serve-grpc once with
scripts/session_warm_server.sh, extract protobuf stubs,
and use
references/NRE_RenderClient/scripts/thin_client.py for
repeated single-camera or batch_render_rgb calls.serve-grpc +
render-grpc (or your own client via nre.grpc.protos).
Required for LiDAR rendering, simulator loops, Difix, or
--edit-assets. See references/grpc-api.md and
references/physical-ai-render.md.export-external-assets to
repackage Asset-Harvester output into a new USDZ, then pass
the produced edit-assets.json to render-grpc --edit-assets
(with serve-grpc --enable-editing-actors). See
references/asset-editing.md.<output_dir>/<RUN-ID>/usd-out/last.usdz opens, metrics.yaml
reports a reasonable test/psnr, and the generated MP4s
render. For more thorough metrics use Workflow I (eval) in
references/workflows.md. Tear
down any gRPC server (Ctrl-C or docker rm -f).For any NRE task expected to run 5 minutes or longer (training,
OSMO jobs, multi-clip renders), follow
references/long-running-tasks.md: delegate to a subagent /
background job and report compact status at least every 5
minutes.
Walk Workflow A in
references/workflows.md: validate
host → generate aux data → train (cookbook recipe) → export →
local render or serve-grpc. Concrete commands live in the
referenced files; this index does not duplicate them.
Walk Workflow B: download
nvidia/PhysicalAI-Autonomous-Vehicles-NuRec from HuggingFace,
then jump to serve-grpc + a Python client. Coordinate-frame
conversion code is in references/physical-ai-render.md.
Walk Workflow C: run asset-harvester, then
export-external-assets, edit edit-assets.json, and call
serve-grpc --enable-editing-actors + render-grpc --edit-assets. Schema lives in references/asset-editing.md.
Walk the warm-server quick start at the bottom of
references/workflows.md. Boot
scripts/session_warm_server.sh, render with
thin_client.py, tear down with scripts/session_teardown.sh.
Pick the smallest backend that exposes the requested feature:
nre render, render-grpc,
or an export sub-command directly. Simplest for one-off renders,
LiDAR sweeps, actor edits, rolling shutter, in-container video
export, or exact --replicate-training-views behavior. See
references/local-render.md, references/nre-image-notes.md,
and references/mp4-encoding.md.serve-grpc + thin host client. Use for
render-heavy RGB sessions where repeated Docker/Python/CUDA
cold-start dominates latency, or where multiple cameras should
be rendered through one batch_render_rgb RPC. See
references/NRE_RenderClient/README.md and
scripts/session_warm_server.sh / scripts/session_teardown.sh.references/example-workflows/osmo/ for multi-clip fan-out,
isolation from the local machine, or training jobs that should
not run on the user's workstation. Follow
references/ngc-and-registry.md for registry credentials and
references/long-running-tasks.md for polling discipline.Structured deliverables placed under ${output_dir}/${RUN_ID}/
by the NRE container (no JSON state file required from the
agent):
config/parsed.yaml — Hydra-resolved training config.checkpoints/last.ckpt (plus periodic snapshots).val/metrics.yaml — per-frame PSNR / SSIM / LPIPS under
test/*.val/*.mp4, val/<frame>/*.png — depth, opacity, segmentation,
RGB visualisations.usd-out/last.usdz — USDZ containing the trained reconstruction,
data_info.json, rig_trajectories.json,
sequence_tracks.json, parsed_config.yaml, checkpoint.ckpt,
optional mesh.ply, and map.xodr. Render with nre render,
serve-grpc + render-grpc, the in-container viewer, or hand
to a downstream simulator (CARLA, AlpaSim, Isaac Sim).*.ply / ego_mask/* / depth/* / sequence_tracks.json /
ncore_tracks.json / mesh.ply / ground_mesh.ply — produced
by the matching export sub-command.| Script | Purpose | Usage |
|---|---|---|
scripts/validate_setup.py | Verify Docker, NVIDIA Container Toolkit, GPU/driver R570+ (R535+ minimum), NGC login, and NGC_API_KEY env var. No network calls. | run_script("scripts/validate_setup.py") or python scripts/validate_setup.py [--strict] |
scripts/session_warm_server.sh | Idempotently boot a session-scoped nre serve-grpc container for the thin Python client. Discovers a cached 26.04+ renderer image, mounts the USDZ root, waits for readiness. | NRE_GRPC_USDZ_HOST_DIR=/path/to/usdz/root bash scripts/session_warm_server.sh |
scripts/session_teardown.sh | Stop and remove the warm serve-grpc container and clear its state file without racing the next boot. | bash scripts/session_teardown.sh |
Read these on demand; keep SKILL.md as the routing layer.
references/install.md — docker login nvcr.io, image pull, full prerequisite matrix, and safe
secret-handling for NGC_API_KEY / HF_TOKEN.references/cookbook.md — most-used
docker run invocations: train + validate, re-validate with
shift, local render at quarter or native res, serve-grpc boot,
LiDAR sweep, in-container --help.references/workflows.md — workflows
A – I end-to-end, plus the warm-server thin-client quick start.references/troubleshooting.md
— extended error matrix (OOM, wandb blocking,
--artifact-glob mismatches, deprecated flags, gRPC LiDAR size,
etc.).references/teardown.md — disk
cleanup, post-teardown verification, ownership-recovery.references/cli-reference.md — full sub-command surface of the
NRE container (training, validation, render, serve-grpc,
render-grpc, render-novel-trajectory, every export-*,
upgrade-config / upgrade-artifact, gaussian-statistics,
eval-rendering-metrics, compute-metrics, viewer,
ply_viewer, profile-dataloader, run-script, the
nre-tools aux-data + AH entry points).references/configuration.md — Hydra recipe map for Waymo / NV
/ PandaSet / Tesla / Alpasim, plus override matrix.references/aux-data.md — nre-tools auxiliary-data CLI.references/local-render.md — host-side docker run … render
recipes for rig offsets and export-custom-rig-trajectory.references/carline-adaptation.md — augmented target-rig trajectory export,
local render, and optional nurec-fixer Harmonizer handoff.references/NRE_RenderClient/README.md — warm-server thin
Python gRPC client.references/grpc-api.md — sensorsim gRPC server flags + Python
client cookbook.references/nre-image-notes.md — cached-image discovery, 26.04+
vs 26.03 vs pre-26.03 flags.references/ngc-and-registry.md — NGC API key resolution.references/mp4-encoding.md — host-side ffmpeg recipe.references/asset-editing.md — export-external-assets +
edit-assets.json schema.references/physical-ai-render.md — recipe for rendering the
HuggingFace NuRec dataset.references/example-workflows/ — bash, Hydra, and OSMO
templates.references/rig-json/ — bundled rig.json and
augmented_rig.json.references/custom-rig-trajectories/ — pre-baked
export-custom-rig-trajectory outputs.references/long-running-tasks.md — background-job + 5-minute
status reporting convention.references/nurec-skill-catalog.md — routing table for sibling
NuRec-stack skills.Linux x86_64 + NVIDIA GPU + Docker 23+ + NVIDIA Container Toolkit
1.13+ + NGC_API_KEY. Full matrix (driver minimums per arch,
shm-size, file ownership, GPU-tier guidance) lives in
references/install.md. Always verify
via scripts/validate_setup.py before pulling the image.
trainer.world_size / trainer.num_nodes explicitly to scale
out; SLURM is auto-detected when both are 0. Quality plateaus
past ~6 GPUs; per release notes, multi-GPU +
dataset.aux_data=false is a known crash combination.--config-name paths differ between train and val/export.
Training uses container-bundled recipes; validation and exports
re-pass the parsed.yaml written under
<output_dir>/<RUN-ID>/config/.wandb. Choose option 3 to skip
in non-interactive runs, or pass logger=tensorboard /
logger=dummy.export-external-assets
requires AH outputs; raw .ply files won't carry the
per-asset cuboid metadata.difix=cosmos_difix) and the legacy Stable-Diffusion variant
(difix=sd_difix). The newer Cosmos-Predict-based Fixer
variants live in the nurec-fixer skill.render ↔ render-grpc overlap. render runs
in-container without a server; render-grpc requires an active
serve-grpc. Use render for batch novel-view jobs and
render-grpc when you need actor editing, LiDAR rendering, or
a long-lived service.| Error | Cause | Fix |
|---|---|---|
Unable to find image 'nvcr.io/nvidia/nre/nre:latest' | Docker not authenticated to NGC. | docker login nvcr.io with Username: $oauthtoken. |
OOM Killed / CUDA out of memory during training | Default recipe needs >= 48 GB VRAM. | Reduce dataset.camera_ids, lower trainer.max_epochs, switch to trainer.precision=16-mixed, or use a 48 GB+ GPU. |
serve-grpc fails to find the USDZ | --artifact-glob must end in .usdz and be quoted. | Use e.g. --artifact-glob /workdir/output/<RUN-ID>/usd-out/last.usdz. |
Edits silently ignored from render-grpc --edit-assets | Server started without --enable-editing-actors. | Restart serve-grpc with that flag. |
Full matrix in
references/troubleshooting.md.
Full inventory, ownership-recovery, and post-teardown verification
commands live in references/teardown.md.
Headline: stop serve-grpc containers, docker image rm
nre/nre-tools, rm -rf ${HOME}/.cache/nre and your
<output_dir>/<RUN-ID>/. Do not revoke NGC_API_KEY unless you
suspect it has been leaked.*