summaryrefslogtreecommitdiff
path: root/workspaces/main/shaders/cnn/cnn_conv5x5.wgsl
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-11 10:07:58 +0100
committerskal <pascal.massimino@gmail.com>2026-02-11 10:07:58 +0100
commitd56de04a4b1f19b9fa73e6f7f9c7a5a0eadd6dd3 (patch)
treec5a91b8bb490ae6d9464cb5c7cc0e9306cb2be36 /workspaces/main/shaders/cnn/cnn_conv5x5.wgsl
parent3e7d0ee97426cfe89938432781d71f6db94fdb07 (diff)
fix: Replace clamp with sigmoid in CNN final layer
Final layer used hard clamp causing saturation to white when output > 1.0. Replaced with sigmoid activation for smooth [0,1] mapping with gradients. Changes: - train_cnn.py: torch.sigmoid() in forward pass and WGSL codegen - WGSL shaders: 1.0/(1.0+exp(-sum)) in cnn_conv3x3/5x5 _7to1 functions Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'workspaces/main/shaders/cnn/cnn_conv5x5.wgsl')
-rw-r--r--workspaces/main/shaders/cnn/cnn_conv5x5.wgsl2
1 files changed, 1 insertions, 1 deletions
diff --git a/workspaces/main/shaders/cnn/cnn_conv5x5.wgsl b/workspaces/main/shaders/cnn/cnn_conv5x5.wgsl
index ba2a4b7..e39f6ef 100644
--- a/workspaces/main/shaders/cnn/cnn_conv5x5.wgsl
+++ b/workspaces/main/shaders/cnn/cnn_conv5x5.wgsl
@@ -62,7 +62,7 @@ fn cnn_conv5x5_7to1(
}
}
- return clamp(sum, 0.0, 1.0);
+ return 1.0 / (1.0 + exp(-sum));
}
// Source layer: 7→4 channels (vec4-optimized)