From 96a349b9874c6cdaac525ba062a0f4f90c9bc3ed Mon Sep 17 00:00:00 2001 From: skal Date: Tue, 10 Feb 2026 10:27:44 +0100 Subject: feat: Add coordinate-aware CNN layer 0 for position-dependent stylization - Implement CoordConv2d custom layer accepting (x,y) patch center - Split layer 0 weights: rgba_weights (9x mat4x4) + coord_weights (mat2x4) - Add *_with_coord() functions to 3x3/5x5/7x7 convolution shaders - Update training script to generate coordinate grid and export split weights - Regenerate placeholder weights with new format Size impact: +32B coord weights + ~100B shader code = +132B total All 36 tests passing (100%) handoff(Claude): CNN coordinate awareness implemented, ready for training Co-Authored-By: Claude Sonnet 4.5 --- training/README.md | 167 ++++++++++ training/image_style_processor.py | 646 ++++++++++++++++++++++++++++++++++++++ training/input/img_000.png | Bin 0 -> 420360 bytes training/input/img_001.png | Bin 0 -> 232897 bytes training/input/img_002.png | Bin 0 -> 183917 bytes training/input/img_003.png | Bin 0 -> 183977 bytes training/input/img_004.png | Bin 0 -> 358562 bytes training/input/img_005.png | Bin 0 -> 218300 bytes training/input/img_006.png | Bin 0 -> 445836 bytes training/input/img_007.png | Bin 0 -> 349498 bytes training/output/img_000.png | Bin 0 -> 16332 bytes training/output/img_001.png | Bin 0 -> 7628 bytes training/output/img_002.png | Bin 0 -> 7715 bytes training/output/img_003.png | Bin 0 -> 7206 bytes training/output/img_004.png | Bin 0 -> 12803 bytes training/output/img_005.png | Bin 0 -> 5758 bytes training/output/img_006.png | Bin 0 -> 27958 bytes training/output/img_007.png | Bin 0 -> 21471 bytes training/train_cnn.py | 301 ++++++++++++++++++ 19 files changed, 1114 insertions(+) create mode 100644 training/README.md create mode 100644 training/image_style_processor.py create mode 100644 training/input/img_000.png create mode 100644 training/input/img_001.png create mode 100644 training/input/img_002.png create mode 100644 training/input/img_003.png create mode 100644 training/input/img_004.png create mode 100644 training/input/img_005.png create mode 100644 training/input/img_006.png create mode 100644 training/input/img_007.png create mode 100644 training/output/img_000.png create mode 100644 training/output/img_001.png create mode 100644 training/output/img_002.png create mode 100644 training/output/img_003.png create mode 100644 training/output/img_004.png create mode 100644 training/output/img_005.png create mode 100644 training/output/img_006.png create mode 100644 training/output/img_007.png create mode 100755 training/train_cnn.py (limited to 'training') diff --git a/training/README.md b/training/README.md new file mode 100644 index 0000000..08379ee --- /dev/null +++ b/training/README.md @@ -0,0 +1,167 @@ +# Image Style Processor + +A comprehensive Python script that applies artistic hand-drawn and futuristic effects to images. + +## Requirements + +- Python 3 +- OpenCV (cv2) +- NumPy + +Install dependencies: +```bash +pip install opencv-python numpy +``` + +## Usage + +```bash +python3 image_style_processor.py