diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-15 18:52:48 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-15 18:52:48 +0100 |
| commit | d4b67e2f6ab48ab9ec658140be4f1999f604559a (patch) | |
| tree | 2502b0dc89748f7cfe674d3c177bd1528ce1c231 | |
| parent | 161a59fa50bb92e3664c389fa03b95aefe349b3f (diff) | |
archive(cnn): move CNN v1 to cnn_v1/ subdirectory
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%)
| -rw-r--r-- | cnn_v1/README.md | 64 | ||||
| -rw-r--r-- | cnn_v1/docs/CNN.md (renamed from doc/CNN.md) | 0 | ||||
| -rw-r--r-- | cnn_v1/docs/CNN_BIAS_FIX_2026-02.md (renamed from doc/CNN_BIAS_FIX_2026-02.md) | 0 | ||||
| -rw-r--r-- | cnn_v1/docs/CNN_DEBUG.md (renamed from doc/CNN_DEBUG.md) | 0 | ||||
| -rw-r--r-- | cnn_v1/docs/CNN_EFFECT.md (renamed from doc/CNN_EFFECT.md) | 0 | ||||
| -rw-r--r-- | cnn_v1/docs/CNN_FLATTEN_ANALYSIS.md (renamed from doc/CNN_FLATTEN_ANALYSIS.md) | 0 | ||||
| -rw-r--r-- | cnn_v1/docs/CNN_RGBD_GRAYSCALE_SUMMARY.md (renamed from doc/CNN_RGBD_GRAYSCALE_SUMMARY.md) | 0 | ||||
| -rw-r--r-- | cnn_v1/docs/CNN_TEST_TOOL.md (renamed from doc/CNN_TEST_TOOL.md) | 0 | ||||
| -rw-r--r-- | cnn_v1/shaders/cnn_activation.wgsl (renamed from workspaces/main/shaders/cnn/cnn_activation.wgsl) | 0 | ||||
| -rw-r--r-- | cnn_v1/shaders/cnn_conv1x1.wgsl (renamed from workspaces/main/shaders/cnn/cnn_conv1x1.wgsl) | 0 | ||||
| -rw-r--r-- | cnn_v1/shaders/cnn_conv3x3.wgsl (renamed from workspaces/main/shaders/cnn/cnn_conv3x3.wgsl) | 0 | ||||
| -rw-r--r-- | cnn_v1/shaders/cnn_conv5x5.wgsl (renamed from workspaces/main/shaders/cnn/cnn_conv5x5.wgsl) | 0 | ||||
| -rw-r--r-- | cnn_v1/shaders/cnn_conv7x7.wgsl (renamed from workspaces/main/shaders/cnn/cnn_conv7x7.wgsl) | 0 | ||||
| -rw-r--r-- | cnn_v1/shaders/cnn_layer.wgsl (renamed from workspaces/main/shaders/cnn/cnn_layer.wgsl) | 0 | ||||
| -rw-r--r-- | cnn_v1/shaders/cnn_weights_generated.wgsl (renamed from workspaces/main/shaders/cnn/cnn_weights_generated.wgsl) | 0 | ||||
| -rw-r--r-- | cnn_v1/src/cnn_effect.cc (renamed from src/effects/cnn_effect.cc) | 0 | ||||
| -rw-r--r-- | cnn_v1/src/cnn_effect.h (renamed from src/effects/cnn_effect.h) | 0 | ||||
| -rwxr-xr-x | cnn_v1/training/train_cnn.py (renamed from training/train_cnn.py) | 0 |
18 files changed, 64 insertions, 0 deletions
diff --git a/cnn_v1/README.md b/cnn_v1/README.md new file mode 100644 index 0000000..ad9b8f3 --- /dev/null +++ b/cnn_v1/README.md @@ -0,0 +1,64 @@ +# CNN v1: Original Post-Processing Neural Network + +**Architecture:** 3-layer convolution, generated shader weights +**Status:** Active (used in timeline), legacy architecture + +## Overview + +Original CNN implementation with per-layer WGSL shaders. Supports multiple kernel sizes (1×1, 3×3, 5×5, 7×7) with generated weight arrays. + +**For new work, use CNN v2** (`cnn_v2/`) which provides: +- Storage buffer architecture (~3.2 KB vs generated WGSL) +- 7D static features (RGBD + UV + sin + bias) +- Sigmoid activation with stable training +- Dynamic layer configuration + +## Quick Reference + +**Training:** +```bash +./cnn_v1/training/train_cnn.py --input training/input --target training/output \ + --layers 3 --kernel_sizes 3,5,3 --epochs 5000 +``` + +**Integration:** +- **C++:** `cnn_v1/src/cnn_effect.{h,cc}` +- **Assets:** `workspaces/main/assets.txt` (lines 40-46) +- **Timeline:** `workspaces/main/timeline.seq` (CNNEffect) + +## Documentation + +- [CNN.md](docs/CNN.md) - Architecture overview +- [CNN_EFFECT.md](docs/CNN_EFFECT.md) - Implementation details +- [CNN_TEST_TOOL.md](docs/CNN_TEST_TOOL.md) - Testing guide +- [CNN_DEBUG.md](docs/CNN_DEBUG.md) - Debugging notes + +## Directory Structure + +``` +cnn_v1/ +├── README.md # This file +├── src/ +│ ├── cnn_effect.h # Effect header +│ └── cnn_effect.cc # Effect implementation +├── shaders/ # WGSL shaders (7 files) +├── training/ # Python training script +└── docs/ # Documentation (7 markdown files) +``` + +## Differences from CNN v2 + +| Feature | CNN v1 | CNN v2 | +|---------|--------|--------| +| Architecture | Generated WGSL weights | Storage buffer weights | +| Input Features | 4D (RGBA/prev layer) | 12D (4D + 8D static) | +| Activation | ReLU | Sigmoid + ReLU | +| Size | ~Variable (WGSL gen) | ~3.2 KB (binary) | +| Training | Full-image | Patch-based (default) | +| Layer Config | Compile-time | Runtime (dynamic) | + +## Migration Notes + +CNN v1 remains in the timeline for historical validation. For new effects or experiments, use CNN v2's enhanced feature set and compact binary format. + +See `cnn_v2/docs/CNN_V2.md` for CNN v2 architecture details. diff --git a/doc/CNN.md b/cnn_v1/docs/CNN.md index 2dc3362..2dc3362 100644 --- a/doc/CNN.md +++ b/cnn_v1/docs/CNN.md diff --git a/doc/CNN_BIAS_FIX_2026-02.md b/cnn_v1/docs/CNN_BIAS_FIX_2026-02.md index 26db8eb..26db8eb 100644 --- a/doc/CNN_BIAS_FIX_2026-02.md +++ b/cnn_v1/docs/CNN_BIAS_FIX_2026-02.md diff --git a/doc/CNN_DEBUG.md b/cnn_v1/docs/CNN_DEBUG.md index ba220a0..ba220a0 100644 --- a/doc/CNN_DEBUG.md +++ b/cnn_v1/docs/CNN_DEBUG.md diff --git a/doc/CNN_EFFECT.md b/cnn_v1/docs/CNN_EFFECT.md index 40f095e..40f095e 100644 --- a/doc/CNN_EFFECT.md +++ b/cnn_v1/docs/CNN_EFFECT.md diff --git a/doc/CNN_FLATTEN_ANALYSIS.md b/cnn_v1/docs/CNN_FLATTEN_ANALYSIS.md index bf63c5d..bf63c5d 100644 --- a/doc/CNN_FLATTEN_ANALYSIS.md +++ b/cnn_v1/docs/CNN_FLATTEN_ANALYSIS.md diff --git a/doc/CNN_RGBD_GRAYSCALE_SUMMARY.md b/cnn_v1/docs/CNN_RGBD_GRAYSCALE_SUMMARY.md index 3439f2c..3439f2c 100644 --- a/doc/CNN_RGBD_GRAYSCALE_SUMMARY.md +++ b/cnn_v1/docs/CNN_RGBD_GRAYSCALE_SUMMARY.md diff --git a/doc/CNN_TEST_TOOL.md b/cnn_v1/docs/CNN_TEST_TOOL.md index 4307894..4307894 100644 --- a/doc/CNN_TEST_TOOL.md +++ b/cnn_v1/docs/CNN_TEST_TOOL.md diff --git a/workspaces/main/shaders/cnn/cnn_activation.wgsl b/cnn_v1/shaders/cnn_activation.wgsl index 4fe771e..4fe771e 100644 --- a/workspaces/main/shaders/cnn/cnn_activation.wgsl +++ b/cnn_v1/shaders/cnn_activation.wgsl diff --git a/workspaces/main/shaders/cnn/cnn_conv1x1.wgsl b/cnn_v1/shaders/cnn_conv1x1.wgsl index f77cfa8..f77cfa8 100644 --- a/workspaces/main/shaders/cnn/cnn_conv1x1.wgsl +++ b/cnn_v1/shaders/cnn_conv1x1.wgsl diff --git a/workspaces/main/shaders/cnn/cnn_conv3x3.wgsl b/cnn_v1/shaders/cnn_conv3x3.wgsl index f7d11b1..f7d11b1 100644 --- a/workspaces/main/shaders/cnn/cnn_conv3x3.wgsl +++ b/cnn_v1/shaders/cnn_conv3x3.wgsl diff --git a/workspaces/main/shaders/cnn/cnn_conv5x5.wgsl b/cnn_v1/shaders/cnn_conv5x5.wgsl index 9328d75..9328d75 100644 --- a/workspaces/main/shaders/cnn/cnn_conv5x5.wgsl +++ b/cnn_v1/shaders/cnn_conv5x5.wgsl diff --git a/workspaces/main/shaders/cnn/cnn_conv7x7.wgsl b/cnn_v1/shaders/cnn_conv7x7.wgsl index e68d644..e68d644 100644 --- a/workspaces/main/shaders/cnn/cnn_conv7x7.wgsl +++ b/cnn_v1/shaders/cnn_conv7x7.wgsl diff --git a/workspaces/main/shaders/cnn/cnn_layer.wgsl b/cnn_v1/shaders/cnn_layer.wgsl index cbd1686..cbd1686 100644 --- a/workspaces/main/shaders/cnn/cnn_layer.wgsl +++ b/cnn_v1/shaders/cnn_layer.wgsl diff --git a/workspaces/main/shaders/cnn/cnn_weights_generated.wgsl b/cnn_v1/shaders/cnn_weights_generated.wgsl index 510f86f..510f86f 100644 --- a/workspaces/main/shaders/cnn/cnn_weights_generated.wgsl +++ b/cnn_v1/shaders/cnn_weights_generated.wgsl diff --git a/src/effects/cnn_effect.cc b/cnn_v1/src/cnn_effect.cc index 49c5239..49c5239 100644 --- a/src/effects/cnn_effect.cc +++ b/cnn_v1/src/cnn_effect.cc diff --git a/src/effects/cnn_effect.h b/cnn_v1/src/cnn_effect.h index cdcd656..cdcd656 100644 --- a/src/effects/cnn_effect.h +++ b/cnn_v1/src/cnn_effect.h diff --git a/training/train_cnn.py b/cnn_v1/training/train_cnn.py index 4171dcb..4171dcb 100755 --- a/training/train_cnn.py +++ b/cnn_v1/training/train_cnn.py |
