From d4b67e2f6ab48ab9ec658140be4f1999f604559a Mon Sep 17 00:00:00 2001 From: skal Date: Sun, 15 Feb 2026 18:52:48 +0100 Subject: archive(cnn): move CNN v1 to cnn_v1/ subdirectory MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Consolidate CNN v1 (CNNEffect) into dedicated directory: - C++ effect: src/effects → cnn_v1/src/ - Shaders: workspaces/main/shaders/cnn → cnn_v1/shaders/ - Training: training/train_cnn.py → cnn_v1/training/ - Docs: doc/CNN*.md → cnn_v1/docs/ Updated all references: - CMake source list - C++ includes (relative paths: ../../cnn_v1/src/) - Asset paths (../../cnn_v1/shaders/) - Documentation cross-references CNN v1 remains active in timeline. For new work, use CNN v2 with enhanced features (7D static, storage buffer, sigmoid activation). Tests: 34/34 passing (100%) --- cnn_v1/shaders/cnn_activation.wgsl | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 cnn_v1/shaders/cnn_activation.wgsl (limited to 'cnn_v1/shaders/cnn_activation.wgsl') diff --git a/cnn_v1/shaders/cnn_activation.wgsl b/cnn_v1/shaders/cnn_activation.wgsl new file mode 100644 index 0000000..4fe771e --- /dev/null +++ b/cnn_v1/shaders/cnn_activation.wgsl @@ -0,0 +1,18 @@ +// CNN activation functions +// 4 functions: tanh, ReLU, sigmoid, leaky_relu + +fn cnn_tanh(x: vec4) -> vec4 { + return tanh(x); +} + +fn cnn_relu(x: vec4) -> vec4 { + return max(vec4(0.0), x); +} + +fn cnn_sigmoid(x: vec4) -> vec4 { + return 1.0 / (1.0 + exp(-x)); +} + +fn cnn_leaky_relu(x: vec4, alpha: f32) -> vec4 { + return max(alpha * x, x); +} -- cgit v1.2.3