diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-11 10:10:11 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-11 10:10:11 +0100 |
| commit | 7dd1ac57178055aa8407777d4fb03787e21e6f66 (patch) | |
| tree | d218688dc7080792f2f185568cd347e6410e67e9 /workspaces/main/shaders/cnn | |
| parent | d56de04a4b1f19b9fa73e6f7f9c7a5a0eadd6dd3 (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')
| -rw-r--r-- | workspaces/main/shaders/cnn/cnn_conv3x3.wgsl | 2 | ||||
| -rw-r--r-- | workspaces/main/shaders/cnn/cnn_conv5x5.wgsl | 2 | ||||
| -rw-r--r-- | workspaces/main/shaders/cnn/cnn_layer.wgsl | 4 |
3 files changed, 4 insertions, 4 deletions
diff --git a/workspaces/main/shaders/cnn/cnn_conv3x3.wgsl b/workspaces/main/shaders/cnn/cnn_conv3x3.wgsl index d680840..48bb392 100644 --- a/workspaces/main/shaders/cnn/cnn_conv3x3.wgsl +++ b/workspaces/main/shaders/cnn/cnn_conv3x3.wgsl @@ -108,5 +108,5 @@ fn cnn_conv3x3_7to1( } } - return 1.0 / (1.0 + exp(-sum)); + return sum; } diff --git a/workspaces/main/shaders/cnn/cnn_conv5x5.wgsl b/workspaces/main/shaders/cnn/cnn_conv5x5.wgsl index e39f6ef..9328d75 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 1.0 / (1.0 + exp(-sum)); + return sum; } // Source layer: 7→4 channels (vec4-optimized) 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] } |
