Кузня
Настольный инструмент для обучения нейросетей — прямо из JSON, без единой строки кода. Форма в браузере и файл конфига — это два вида одного и того же объекта.
Что такое Кузня #
Кузня — это десктопное приложение, которое полностью описывает обучение нейросети через один JSON-файл. Нажатие кнопки в интерфейсе равнозначно правке конфига: редактируешь одно — второе сразу меняется. Это значит, что любой эксперимент можно воспроизвести или передать другому человеку, просто скопировав файл.
Всё, что можно нажать в UI, можно записать в JSON. Эксперименты воспроизводимы.
Видно, как нейросеть делит пространство по эпохам. Ползунок отматывает назад.
Статус в профиле и карточки в канале. Одно сообщение на ран, никакого спама.
Любой Gym-совместимый класс с reset()/step() — PPO или REINFORCE.
kuz train config.json работает headless с теми же событиями и вебхуком.
TorchScript, ONNX, state_dict или NumPy — с готовым predict.py.
Установка #
Windows — установщик
Скачайте Kuznya-1.0.0-setup.exe и запустите.
PyTorch уже внутри — Python отдельно ставить не нужно.
После установки установщик:
- Добавит ярлык в «Пуск» (и по желанию на рабочий стол).
- Пропишет команду
kuzвPATH, чтобы работало из любого терминала. - Сохранит раны и чекпоинты в
%LOCALAPPDATA%\Kuznya\runs— удаление программы их не затронет.
Linux, macOS и запуск из исходников
git clone https://github.com/shirou-eh/teacher.git
cd teacher
pip install "torch>=2.0" "numpy>=1.21"
python3 kuz.py app
SmartScreen и Smart App Control #
SmartScreen (Windows 10, Windows 11 до 22H2)
При запуске Kuznya-1.0.0-setup.exe появится синее окно SmartScreen с текстом
«Защитник Windows SmartScreen предотвратил запуск нераспознанного приложения».
Нажмите «Подробнее», затем «Выполнить в любом случае» —
и установка продолжится.
Smart App Control (Windows 11)
Smart App Control строже SmartScreen — у него нет кнопки «Выполнить в любом случае». Он блокирует любые неподписанные исполняемые файлы.
Проверить состояние:
Get-MpComputerStatus | Select-Object SmartAppControlState
On — блокирует, Eval — оценивает, Off — не мешает.
Варианты решения (от простого к радикальному):
-
Запускать из исходников. SAC не мешает
python.exe— он подписан. Приложение то же самое, только без ярлыка в «Пуске»:powershellpython kuz.py app -
Выключить SAC — Безопасность Windows → «Управление приложениями и браузером»
→ «Параметры Smart App Control» → Выкл.
ОбратимостьДо Windows 11 25H2 отключение было необратимым (включить обратно — только сброс системы). В 25H2 и новее ограничение сняли. Проверьте версию:
(Get-ComputerInfo).OsDisplayVersion
Первый запуск за 5 минут #
Лучший способ познакомиться с Кузней — пресет spirals: это задача классификации трёх спиралей на плоскости, которая обучается за 40 секунд и наглядно показывает, что делает нейросеть.
-
1
Откройте Кузню
Запустите ярлык «Кузня» из меню «Пуск» или из рабочего стола. Откроется окно приложения с адресом
http://127.0.0.1:7860. -
2
Выберите пресет «spirals»
В верхней части интерфейса нажмите кнопку spirals. Форма заполнится конфигом: 2 входа (x, y координата), 3 выхода (класс спирали), два скрытых слоя по 64 нейрона, 40 эпох, оптимизатор AdamW.
-
3
Нажмите «Запустить»
Обучение начнётся немедленно. В правой части появятся:
- Кривые потерь — две линии: синяя (train loss) и оранжевая (val loss). Обе должны снижаться. Если они уходят вниз — сеть учится.
- Карта решений — плоскость, раскрашенная по классам. Каждые несколько эпох сеть перерисовывает, как она делит пространство.
- Полоса градиентов — health-indicator по слоям.
-
4
Наблюдайте за картой решений
В самом начале карта — сплошная каша: сеть не знает ничего, всё одного цвета. После 5–10 эпох начнут проявляться три области — размытые, с нечёткими границами. К эпохе 30–40 граница станет похожа на три переплетающиеся спирали.
Насыщенность цвета = уверенность сети. Яркий цвет означает «сеть уверена в этом классе», бледный — «сеть сомневается». Граница всегда размытая — это честный ответ модели, а не чёрная линия.
-
5
Пользуйтесь ползунком эпох
После окончания обучения перетащите ползунок назад — карта вернётся к эпохе 1. Протащите вперёд и посмотрите, как из хаоса проступает структура. Это и есть обучение: постепенное уточнение знания о данных.
-
6
Кликните по карте
Любой клик по карте решений прогоняет эту точку через модель и показывает вероятности трёх классов. В центре спирали вероятность будет ~99%. На границе — примерно поровну между двумя классами.
То же самое через терминал
Если предпочитаете командную строку:
# Создать конфиг из пресета
kuz init my.json --preset spirals
# Проверить конфиг (без запуска обучения)
kuz check my.json
# Обучить
kuz train my.json
Что дальше #
После первого запуска:
- Тутор для новичка — пошаговое объяснение, что делает каждый параметр, почему снижается лосс, как выглядит переобучение и как его остановить.
- Справочник конфига — полные таблицы по всем полям, правила валидации, примеры конфигов для разных задач.
- Своя симуляция — как написать RL-среду с нуля и обучить агента.
- Discord — статус в профиле и карточки в канале при обучении.
- Команды CLI — все флаги и примеры для работы в терминале и по SSH.