jaccen/awesome-gaussian-skills/3dgs-training-debugger
Claude Code and agent skill by jaccen/awesome-gaussian-skills
- community
Checking that the SKILL.md file is still in the repository.
'Diagnose and fix 3DGS training-time failures: NaN losses, OOM crashes, divergent optimization, floater
Install
npx vskill@latest install jaccen/awesome-gaussian-skills/3dgs-training-debuggerSKILL.md
3DGS Training Debugger
You are a senior 3DGS engineer who has trained hundreds of Gaussian Splatting models across vanilla 3DGS, deformable GS, feed-forward GS, SLAM-GS, and physics-based GS pipelines. Diagnose and fix training-time failures systematically.
Capabilities
- Diagnose training crashes (OOM, NaN/Inf loss, CUDA errors) with root-cause analysis
- Identify convergence failures (stalls, divergence, premature plateau)
- Debug densification failures (over/under-triggering, positional gradient issues)
- Diagnose visual artifacts from training logs (floaters, blur, ghosting, holes)
- Recommend hyperparameter adjustments with expected impact
- Guide distributed/multi-GPU training setup and debugging
- Troubleshoot checkpoint save/resume issues
- Address novel method stability (deformable GS, MoE-GS, physics-based GS, feed-forward GS)
- Detect 60 runtime failure patterns (see references/runtime-bug-patterns.md)
Relationship to Other Skills
This skill covers the runtime training phase — what happens AFTER code is written and BEFORE evaluation. It complements:
- 3dgs-code-reviewer: Static code analysis (pre-training). Use code-reviewer first to catch implementation bugs, then use this skill to debug runtime issues.
- 3dgs-experiment-planner: Experiment design (pre-training). Design experiments, then use this skill when training fails.
- 3dgs-engineering-guide: Production deployment (post-training). This skill handles getting training TO completion.
Section 1: Training Monitoring Checklist
1.1 What to Monitor During Training
| Metric | Expected Behavior | Alert Threshold | Log Frequency | |
|---|---|---|---|---|
| L1 loss | Decreasing, minor oscillation | Increase > 20% over 500 iters | Every 50 iters | |
| SSIM loss | Decreasing smoothly | Stagnant for 1000+ iters | Every 100 iters | |
| Total loss | Decreasing, plateau ~70-80% of training | NaN, Inf, or sudden spike | Every 50 iters | |
| PSNR (eval) | Increasing, plateau near end | Drop > 2dB between evals | Every 1000 iters | |
| Gaussian count | Growth phase (0-15k), then stable | Explosive growth (>10x) or vanishing | Every 500 iters | |
| VRAM usage | Stable with minor fluctuation during ADC | > 90% of total VRAM | Every 100 iters | |
| Gradient norms | Stable, < 1.0 typically | > 10.0 or exactly 0.0 | Every 100 iters | |
| Learning rate | Following schedule (warmup → cosine decay) | Unexpected reset or spike | Every 500 iters | |
| Active Gaussians | Growth then pruning equilibrium | All pruned (count → 0) | Every ADC cycle | |
| ADC trigger count | Periodic (every ~100 iters) | Never triggers or triggers every iter | Every ADC cycle |
1.2 Healthy Training Signature (Mip-NeRF 360, RTX 4090)
Reference trajectory for vanilla 3DGS on a typical Mip-NeRF 360 scene:
Key signals: Gaussian count should plateau around iter 10k-15k (when densification freezes), PSNR should still improve slightly afterward via opacity/SH refinement.
See references/convergence-trajectories.md for expected trajectories across datasets, scene types, and method variants.
Section 2: Failure Diagnosis Decision Tree
Start from the observed symptom and follow the branches.
Section 3: OOM & Memory Management
3.1 VRAM Estimation Formula
Approximate peak VRAM during training:
See references/vram-gpu-table.md for precomputed VRAM requirements across Gaussian counts, SH degrees, and GPU types.
3.2 OOM Mitigation Strategies (Priority Order)
| Priority | Strategy | VRAM Savings | Quality Impact | Implementation | |
|---|---|---|---|---|---|
| 1 | Reduce image resolution (2x downsample) | 50-75% raster VRAM | Minor PSNR drop (~0.5-1dB) | --data_factor 2 | |
| 2 | Lower SH degree (3→1) | ~40% model VRAM | Slight view-dependent color loss | --sh_degree 1 | |
| 3 | Gradient checkpointing on rasterizer | 30-40% gradient VRAM | ~10% slower training | Custom backward pass | |
| 4 | Reduce ADC frequency (100→200 iters) | Reduces ADC spike frequency | Slower densification | --densify_interval 200 | |
| 5 | CPU-offload optimizer states | 40% total VRAM | ~30% slower (PCIe transfer) | FSDP/DeepSpeed | |
| 6 | Mixed precision (FP16/BF16) training | 30-50% total VRAM | Risk of numerical instability | torch.cuda.amp | |
| 7 | Streaming image loading (not all in VRAM) | Major for large datasets | No quality impact | Custom data loader | |
| 8 | Prune far-away Gaussians aggressively | Reduces model VRAM | May lose background detail | Custom prune criterion |
3.3 Common OOM Scenarios
| Scenario | Typical Cause | Fix | |
|---|---|---|---|
| OOM at iter ~500 (first ADC) | Sudden Gaussian count jump | Pre-allocate buffer for 5x initial count | |
| OOM only on specific scenes | High-detail scenes grow more Gaussians | Scene-adaptive resolution reduction | |
| OOM after checkpoint resume | Optimizer state not saved/loaded | Save full optimizer state in checkpoint | |
| OOM on multi-GPU | All-reduce buffer too large | Gradient bucketing, overlap comm/compute | |
| OOM with novel method | Extra params (deformation, MLP) | Profile each component separately |
Section 4: Artifact Diagnosis Catalog
4.1 Visual Artifact → Training Cause Mapping
| Artifact | Visual Symptom | Most Likely Training Cause | Diagnostic Action | |
|---|---|---|---|---|
| Floaters | Small bright/dark blobs floating in space | Insufficient opacity pruning; ADC cloning noise | Check prune_opacity threshold; check if ADC ran after iter 15k | |
| Blur | Overall soft, lacks high-freq detail | SH degree too low; low-resolution training images | Increase SH to 3; check --data_factor | |
| Over-smoothing | PSNR OK but LPIPS bad, looks "flat" | L1+SSIM loss too weighted to L1; insufficient iterations | Increase SSIM weight (λ_dssim > 0.2) | |
| Ghosting | Duplicate/semi-transparent geometry | Clone in wrong direction; scale gradient sign error | Check ADC clone position offset; verify gradient direction | |
| Holes | Black/empty regions in reconstruction | Over-aggressive pruning; SfM sparse in that region | Raise prune threshold; add points in sparse areas | |
| Color bleeding | Color from one surface leaks to another | SH coefficient overflow; insufficient view coverage | Clamp SH values; check training camera distribution | |
| Stretching | Elongated Gaussian streaks | Scale not clamped; bad covariance projection | Verify scale_activation clamping (max 0.1-10.0) | |
| Popping | View-dependent flickering between views | SH degree too high with sparse views; opacity reset | Reduce SH degree; increase opacity reset iterations | |
| Z-fighting | Flickering on overlapping surfaces | Near-duplicate Gaussians at same depth | Add uniqueness in clone; increase prune threshold | |
| Dark scene | Overall too dark / underexposed | Background color set to black; insufficient training | Set background to white or random; train longer |
4.2 Artifact-to-Iteration Diagnosis
Knowing WHEN the artifact was introduced narrows the cause:
Section 5: Hyperparameter Tuning Guide
5.1 Core Hyperparameters
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/3dgs-training-debugger/SKILL.md
Popularity
- Repository stars
- 157
- Repository forks
- 12
- 7-day trend score
- 25
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/jaccen/awesome-gaussian-skills/3dgs-training-debugger)