From fb13e67acbc7d7dd2974a456fcb134966c47cee0 Mon Sep 17 00:00:00 2001 From: skal Date: Fri, 27 Mar 2026 07:59:00 +0100 Subject: fix(cnn_v3): remove dec0 ReLU, load FiLM MLP at runtime MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two bugs blocking training convergence: 1. dec0 ReLU before sigmoid constrained output to [0.5,1.0] — network could never produce dark pixels. Removed F.relu in train_cnn_v3.py and max(0,…) in cnn_v3_dec0.wgsl. Test vectors regenerated. 2. set_film_params() used hardcoded heuristics instead of the trained MLP. Added CNNv3FilmMlp struct + load_film_mlp() to cnn_v3_effect.h/.cc. MLP auto-loaded from ASSET_WEIGHTS_CNN_V3_FILM_MLP at construction; Linear(5→16)→ReLU→Linear(16→72) runs CPU-side each frame. 36/36 tests pass. Parity max_err=4.88e-4 unchanged. handoff(Gemini): retrain from scratch — needs ≥50 samples (currently 11). See cnn_v3/docs/HOWTO.md §2-3. --- workspaces/main/weights/cnn_v3_film_mlp.bin | Bin 5280 -> 5280 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'workspaces/main/weights/cnn_v3_film_mlp.bin') diff --git a/workspaces/main/weights/cnn_v3_film_mlp.bin b/workspaces/main/weights/cnn_v3_film_mlp.bin index 06c65c9..86708a4 100644 Binary files a/workspaces/main/weights/cnn_v3_film_mlp.bin and b/workspaces/main/weights/cnn_v3_film_mlp.bin differ -- cgit v1.2.3