summaryrefslogtreecommitdiff
path: root/workspaces/main/shaders/cnn/cnn_layer.wgsl
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-11 10:10:11 +0100
committerskal <pascal.massimino@gmail.com>2026-02-11 10:10:11 +0100
commit7dd1ac57178055aa8407777d4fb03787e21e6f66 (patch)
treed218688dc7080792f2f185568cd347e6410e67e9 /workspaces/main/shaders/cnn/cnn_layer.wgsl
parentd56de04a4b1f19b9fa73e6f7f9c7a5a0eadd6dd3 (diff)
fix: Move sigmoid activation to call site in CNN layer shader
Conv functions now return raw sum, sigmoid applied at call site. Matches tanh pattern used for inner layers. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'workspaces/main/shaders/cnn/cnn_layer.wgsl')
-rw-r--r--workspaces/main/shaders/cnn/cnn_layer.wgsl4
1 files changed, 2 insertions, 2 deletions
diff --git a/workspaces/main/shaders/cnn/cnn_layer.wgsl b/workspaces/main/shaders/cnn/cnn_layer.wgsl
index c5f45ec..73816c6 100644
--- a/workspaces/main/shaders/cnn/cnn_layer.wgsl
+++ b/workspaces/main/shaders/cnn/cnn_layer.wgsl
@@ -45,8 +45,8 @@ struct CNNLayerParams {
result = cnn_tanh(result); // Keep in [-1,1]
}
else if (params.layer_index == 2) {
- let gray_out = cnn_conv3x3_7to1(txt, smplr, uv, uniforms.resolution, gray, weights_layer2);
- // gray_out in [0,1] (sigmoid activation)
+ let sum = cnn_conv3x3_7to1(txt, smplr, uv, uniforms.resolution, gray, weights_layer2);
+ let gray_out = 1.0 / (1.0 + exp(-sum)); // Sigmoid activation
result = vec4<f32>(gray_out, gray_out, gray_out, 1.0);
return mix(original_raw, result, params.blend_amount); // [0,1]
}