Fix resume.sh completion check, log full ON/OFF result, relaunch runs overnight

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
int 2026-10-14 19:17:29 +03:00
parent b34bdae638
commit 1722175ac8
2 changed files with 4 additions and 3 deletions

View file

@ -3,7 +3,8 @@
# Each run.sh overwrites <name>/result.csv; finished runs are skipped.
cd ~/run/exp
B="KNP_COL_JITTER=20 KNP_MNIST_THR=60 KNP_MNIST_ADD_THR_SCALE=0 KNP_MNIST_INFER_INHIB=255"
done_run() { grep -q ELAPSED "$1/result.csv" 2>/dev/null; }
# Skip runs that are finished or still running.
done_run() { grep -q "^CLASS" "$1/result.csv" 2>/dev/null || pgrep -f "run.sh $1 " >/dev/null; }
done_run aug_v_B30k || MODEL=altai DATA=augB_val ./run.sh aug_v_B30k 30000 $B > aug_v_B30k.err 2>&1 &
done_run aug_v_A90k || MODEL=altai DATA=augA_val ./run.sh aug_v_A90k 90000 $B > aug_v_A90k.err 2>&1 &
done_run oo_v_full || MODEL=altai DATA=oofull_val ./run.sh oo_v_full 30000 $B KNP_MNIST_INPUT_SIZE=1568 > oo_v_full.err 2>&1 &

View file

@ -220,12 +220,12 @@ python3 /mnt/c/KNP/cats-dogs/run.py test --dataset contrast_train_test --train 8
| `oo_v_base` | обычный | **92,5%** (на тесте та же сеть `fin30k_s42` — 92,3%) |
| `oo_v_local` | ON/OFF, OFF в полосе 2 px | 56,5% |
| `oo_v_half` | ON/OFF, OFF ×0,5 везде | 55,9% (колонки 5, 8, 9 молчат) |
| `oo_v_full` | ON/OFF, OFF везде | не досчитан |
| `oo_v_full` | ON/OFF, OFF везде | 2,4% (сеть почти всё время молчит) |
Почему ON/OFF провалился: спайков на входе в 3–4 раза больше; на трети картинок у всех колонок отрицательная сумма весов (молчание). Не квантование: на float-весах картина та же. Следующий шаг — нормировать поток спайков (ON+OFF ≈ как раньше).
Устойчивость лучшей сети (симулятор, 2000 тестовых картинок): как в MNIST 90,1%; сдвиг 1 px 83,8%; 2 px 63–65%; толще 1 px 78,8%; тоньше 1 px 75,5%. Сеть — набор трафаретов, поэтому нарисованные в визуализаторе цифры распознаются плохо. Голосование 9 сдвигами (±1): как есть 91,5%, сдвиг 2 px 70,0%, толще 82,7%, тоньше 85,3%.
### Прервано выключением компьютера (перезапуск: `augment/resume.sh`)
`aug_v_B30k` (10 000 ×3 копии) — см. результат ниже, если успел; `aug_v_A90k` (30 000 ×3), `oo_v_full`, `sz80_30k_s{42,1}`, `sz{40,80}_60k_s42` остановлены вручную перед выключением.
Компьютер оставили на ночь: в 19:17 `resume.sh` перезапустил `aug_v_A90k`, `sz80_30k_s{42,1}`, `sz{40,80}_60k_s42`; `aug_v_B30k` досчитывается. Исправлен признак готовности в `resume.sh`: остановленный `run.sh` всё равно пишет `ELAPSED`, поэтому готовым считается только прогон со строками `CLASS`.
Проверить после обучения: `augment/tta_sim.py aug_v_B30k val30000.bin val30000.target --first 30000` — устойчивость к сдвигу/толщине, сравнение с `oo_v_base`.