From 673a24215b2670007317060325256059d1448f3b Mon Sep 17 00:00:00 2001 From: skal Date: Sat, 21 Mar 2026 09:51:58 +0100 Subject: feat(cnn_v3): Phase 5 complete — parity validation passing (36/36 tests) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add test_cnn_v3_parity.cc: zero_weights + random_weights tests - Add gen_test_vectors.py: PyTorch reference implementation for enc0/enc1/bn/dec1/dec0 - Add test_vectors.h: generated C header with enc0, dec1, output expected values - Fix declare_nodes(): intermediate textures at fractional resolutions (W/2, W/4) using new NodeRegistry::default_width()/default_height() getters - Add layer-by-layer readback (enc0, dec1) for regression coverage - Final parity: enc0 max_err=1.95e-3, dec1 max_err=1.95e-3, out max_err=4.88e-4 handoff(Claude): CNN v3 parity done. Next: train_cnn_v3.py (FiLM MLP training). --- src/gpu/sequence.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/gpu') diff --git a/src/gpu/sequence.h b/src/gpu/sequence.h index 4592082..04482fb 100644 --- a/src/gpu/sequence.h +++ b/src/gpu/sequence.h @@ -71,6 +71,9 @@ class NodeRegistry { void set_external_view(const std::string& name, WGPUTextureView view); + int default_width() const { return default_width_; } + int default_height() const { return default_height_; } + private: WGPUDevice device_; int default_width_; -- cgit v1.2.3