Save state before session shutdown: resume steps for KNP vehicles pipeline

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
int 2026-10-15 11:29:20 +03:00
parent 1b58551d67
commit 8fe6c3a248
2 changed files with 7 additions and 0 deletions

View file

@ -24,6 +24,8 @@ Morning 15 Oct (log reports/2026-10-15/журнал.md): KNP_DELTA=a,b (+ isolat
Next: close KNP object gap (smaller steps/learning-rate decay?), port WTA feature layer into KNP; reduce spike-coding loss; make columns handle dense features.
Waiting tip: never `pgrep -f <name>` for a string that appears in the waiting command itself (self-match hung a wait 1.5h); use `ps -eo args | grep -c "[x]yz"`. `tail -5` fails here; use `tail -n 5`.
RESUME HERE (2026-10-15 11:20, session was shut down): vehicles (CIFAR airplane/automobile/ship/truck, data ~/run/cifar/vehicles) inference-in-KNP pipeline in /mnt/c/knp/altai-objects: build_model.py (k-means K=200 stride 2 folded into int pixel weights) → model ~/run/altai-objects/model_k200; altai_infer (KNP inference, 0.8 s/img, 1.5 GB) ; run_counts.sh collecting detector counts (resumable, *.done) → train_readout.py → altai_infer on val in KNP → accuracy. Then demo page (local server calling altai_infer) + CNN comparison. Exact steps in reports/2026-10-15/журнал.md (last section). numpy prototype predicted ~76% val for this design.
User wants a real KNP/AltAI spiking net trained (not CNN substitution). Daily log: reports/YYYY-MM-DD/журнал.md (+ reports of that day in the same folder; index reports/README.md, living overview reports/Итоги_и_план.md): short for discussion, detailed for code/runs; no passwords.
**Why:** session transcripts don't survive between days; user expects continuity.

View file

@ -71,3 +71,8 @@ MNIST, признаки coarse, 30 000 обучение, 10 000 проверка
- `altai-objects/altai_infer.cpp`: распознавание в KNP — пиксели (спайки) → детекторы K × позиции (целые веса на 6×6×3 пикселей, смещение через постоянно активный вход) → нейроны классов (веса на (четверть, тип детектора), смещение с задержкой 2). Пишет числа спайков детекторов по четвертям (для обучения выхода) и спайки классов.
- `altai-objects/build_model.py`: k-средние без деления на контраст на кусочках транспорта, свёртка центровки/ZCA/узора в целые веса ±127, порог — 99-й перцентиль. K=200 шаг 2: масштаб 37,6, порог детектора 135, смещения −13…−5. KNP: 0,8 с/картинку, 1,5 ГБ, ~36 тыс. спайков детекторов на картинку.
- `altai-objects/run_counts.sh`: параллельный сбор чисел спайков из KNP (train, train_flip, val; 14 процессов). `altai-objects/train_readout.py`: ridge на этих числах → целые веса классов ±255, смещение по шагам, порог по обучающей выборке.
### Состояние на 11:20 (сессию выключают)
- Идёт сбор чисел спайков из KNP: `altai-objects/run_counts.sh model_k200 counts_k200` (в `~/run/altai-objects`, 14 процессов, 36 частей по 1000 картинок: train, train_flip, val). Готовые части помечены `counts_k200/*.done`; при перезапуске скрипт пропускает готовые.
- Дальше: `~/anvenv/bin/python altai-objects/train_readout.py ~/run/altai-objects/model_k200 ~/run/altai-objects/counts_k200` → веса классов в `model_k200`; затем распознавание проверочной выборки целиком в KNP: `altai_infer /home/int/run/cifar/vehicles/val_images.bin <first> <count> model_k200 <single-threaded backend> <prefix>` (частями параллельно) и точность по `<prefix>_classes.csv` против `val_labels.txt`. Тест (`test_images.bin`) — один раз в конце.
- Потом: страница демо (локальный сервер → `altai_infer` на одной картинке), сравнение с обычной CNN.