From 37df61d1a0dbd5e253f9db778c17c4187e453b8d Mon Sep 17 00:00:00 2001 From: skal Date: Fri, 27 Mar 2026 08:41:05 +0100 Subject: fix(cnn_v3): L1 loss + depth-grad tanh normalization to reduce flat convergence MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Switch MSELoss → L1Loss in train_cnn_v3.py (median-seeking, avoids gray-blob) - Normalize depth_grad channels with tanh(10x) in cnn_v3_utils.py (bounds ±∞ signed values) - Match normalization in gbuf_pack.wgsl: tanh((right-left)*5.0) == tanh(10*central_diff) handoff(Gemini): training pipeline only; no C++ or test changes needed. --- cnn_v3/training/train_cnn_v3.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cnn_v3/training/train_cnn_v3.py') diff --git a/cnn_v3/training/train_cnn_v3.py b/cnn_v3/training/train_cnn_v3.py index fa0d2e2..5065f22 100644 --- a/cnn_v3/training/train_cnn_v3.py +++ b/cnn_v3/training/train_cnn_v3.py @@ -160,7 +160,7 @@ def train(args): optimizer = torch.optim.Adam( filter(lambda p: p.requires_grad, model.parameters()), lr=args.lr) - criterion = nn.MSELoss() + criterion = nn.L1Loss() ckpt_dir = Path(args.checkpoint_dir) ckpt_dir.mkdir(parents=True, exist_ok=True) start_epoch = 1 -- cgit v1.2.3