From 91d42f2d057e077c267d6775cc109a801aa315c0 Mon Sep 17 00:00:00 2001 From: skal Date: Thu, 12 Feb 2026 11:34:50 +0100 Subject: CNN v2: parametric static features - Phases 1-4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Infrastructure for enhanced CNN post-processing with 7D feature input. Phase 1: Shaders - Static features compute (RGBD + UV + sin10_x + bias → 8×f16) - Layer template (convolution skeleton, packing/unpacking) - 3 mip level support for multi-scale features Phase 2: C++ Effect - CNNv2Effect class (multi-pass architecture) - Texture management (static features, layer buffers) - Build integration (CMakeLists, assets, tests) Phase 3: Training Pipeline - train_cnn_v2.py: PyTorch model with static feature concatenation - export_cnn_v2_shader.py: f32→f16 quantization, WGSL generation - Configurable architecture (kernels, channels) Phase 4: Validation - validate_cnn_v2.sh: End-to-end pipeline - Checkpoint → shaders → build → test images Tests: 36/36 passing Next: Complete render pipeline implementation (bind groups, multi-pass) Co-Authored-By: Claude Sonnet 4.5 --- TODO.md | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'TODO.md') diff --git a/TODO.md b/TODO.md index b0cf2bb..17ff54d 100644 --- a/TODO.md +++ b/TODO.md @@ -24,22 +24,25 @@ Self-contained workspaces for parallel demo development. --- -## Priority 2: CNN v2 - Parametric Static Features (Task #85) [PLANNING] +## Priority 2: CNN v2 - Parametric Static Features (Task #85) [IN PROGRESS] Enhanced CNN post-processing with multi-dimensional feature inputs. **Design:** `doc/CNN_V2.md` -**Implementation phases:** -1. Static features compute shader (RGBD + UV + sin encoding + bias) -2. C++ effect class (multi-pass layer execution) -3. Training pipeline (PyTorch f32 → f16 export) -4. Validation tooling (end-to-end checkpoint testing) +**Status:** +- ✅ Phase 1: Static features shader (RGBD + UV + sin encoding + bias → 8×f16, 3 mip levels) +- ✅ Phase 2: C++ effect class (CNNv2Effect skeleton, multi-pass architecture) +- ✅ Phase 3: Training pipeline (`train_cnn_v2.py`, `export_cnn_v2_shader.py`) +- ✅ Phase 4: Validation tooling (`scripts/validate_cnn_v2.sh`) +- ⏳ Phase 5: Full implementation (bind groups, multi-pass execution, layer shaders) + +**Next:** Complete CNNv2Effect render pipeline, test with trained checkpoint **Key improvements over v1:** - 7D static feature input (vs 4D RGB) - Per-layer configurable kernels (1×1, 3×3, 5×5) -- Float16 weight storage (~6.4 KB vs 3.2 KB) +- Float16 weight storage (~6.4 KB) **Target:** <10 KB for 64k demo constraint -- cgit v1.2.3