Что такое Кузня #

Кузня — это десктопное приложение, которое полностью описывает обучение нейросети через один JSON-файл. Нажатие кнопки в интерфейсе равнозначно правке конфига: редактируешь одно — второе сразу меняется. Это значит, что любой эксперимент можно воспроизвести или передать другому человеку, просто скопировав файл.

🔧
Конфиг как истина

Всё, что можно нажать в UI, можно записать в JSON. Эксперименты воспроизводимы.

🗺️
Карта решений

Видно, как нейросеть делит пространство по эпохам. Ползунок отматывает назад.

📡
Discord в реальном времени

Статус в профиле и карточки в канале. Одно сообщение на ран, никакого спама.

⚙️
Своя симуляция

Любой Gym-совместимый класс с reset()/step() — PPO или REINFORCE.

💻
Терминал и SSH

kuz train config.json работает headless с теми же событиями и вебхуком.

📦
Экспорт модели

TorchScript, ONNX, state_dict или NumPy — с готовым predict.py.

Установка #

Windows — установщик

Скачайте Kuznya-1.0.0-setup.exe и запустите. PyTorch уже внутри — Python отдельно ставить не нужно.

⬇ Скачать Кузню 1.0.0 GitHub ↗

После установки установщик:

  • Добавит ярлык в «Пуск» (и по желанию на рабочий стол).
  • Пропишет команду kuz в PATH, чтобы работало из любого терминала.
  • Сохранит раны и чекпоинты в %LOCALAPPDATA%\Kuznya\runs — удаление программы их не затронет.

Linux, macOS и запуск из исходников

bash
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 #

Важно при первом запуске
Windows может заблокировать или предупредить о запуске установщика. Это нормально: установщик не подписан коммерческим сертификатом.

SmartScreen (Windows 10, Windows 11 до 22H2)

При запуске Kuznya-1.0.0-setup.exe появится синее окно SmartScreen с текстом «Защитник Windows SmartScreen предотвратил запуск нераспознанного приложения». Нажмите «Подробнее», затем «Выполнить в любом случае» — и установка продолжится.

Smart App Control (Windows 11)

Smart App Control строже SmartScreen — у него нет кнопки «Выполнить в любом случае». Он блокирует любые неподписанные исполняемые файлы.

Проверить состояние:

powershell
Get-MpComputerStatus | Select-Object SmartAppControlState

On — блокирует, Eval — оценивает, Off — не мешает.

Варианты решения (от простого к радикальному):

  1. Запускать из исходников. SAC не мешает python.exe — он подписан. Приложение то же самое, только без ярлыка в «Пуске»:
    powershell
    python kuz.py app
  2. Выключить SAC — Безопасность Windows → «Управление приложениями и браузером» → «Параметры Smart App Control» → Выкл.
    Обратимость
    До Windows 11 25H2 отключение было необратимым (включить обратно — только сброс системы). В 25H2 и новее ограничение сняли. Проверьте версию: (Get-ComputerInfo).OsDisplayVersion

Первый запуск за 5 минут #

Лучший способ познакомиться с Кузней — пресет spirals: это задача классификации трёх спиралей на плоскости, которая обучается за 40 секунд и наглядно показывает, что делает нейросеть.

  1. 1

    Откройте Кузню

    Запустите ярлык «Кузня» из меню «Пуск» или из рабочего стола. Откроется окно приложения с адресом http://127.0.0.1:7860.

  2. 2

    Выберите пресет «spirals»

    В верхней части интерфейса нажмите кнопку spirals. Форма заполнится конфигом: 2 входа (x, y координата), 3 выхода (класс спирали), два скрытых слоя по 64 нейрона, 40 эпох, оптимизатор AdamW.

  3. 3

    Нажмите «Запустить»

    Обучение начнётся немедленно. В правой части появятся:

    • Кривые потерь — две линии: синяя (train loss) и оранжевая (val loss). Обе должны снижаться. Если они уходят вниз — сеть учится.
    • Карта решений — плоскость, раскрашенная по классам. Каждые несколько эпох сеть перерисовывает, как она делит пространство.
    • Полоса градиентов — health-indicator по слоям.
  4. 4

    Наблюдайте за картой решений

    В самом начале карта — сплошная каша: сеть не знает ничего, всё одного цвета. После 5–10 эпох начнут проявляться три области — размытые, с нечёткими границами. К эпохе 30–40 граница станет похожа на три переплетающиеся спирали.

    Насыщенность цвета = уверенность сети. Яркий цвет означает «сеть уверена в этом классе», бледный — «сеть сомневается». Граница всегда размытая — это честный ответ модели, а не чёрная линия.

  5. 5

    Пользуйтесь ползунком эпох

    После окончания обучения перетащите ползунок назад — карта вернётся к эпохе 1. Протащите вперёд и посмотрите, как из хаоса проступает структура. Это и есть обучение: постепенное уточнение знания о данных.

  6. 6

    Кликните по карте

    Любой клик по карте решений прогоняет эту точку через модель и показывает вероятности трёх классов. В центре спирали вероятность будет ~99%. На границе — примерно поровну между двумя классами.

Что значат измеренные результаты
Spirals за 25 эпох: train loss 1.295 → 0.240, точность на валидации 90.3%. Это значит: сеть из ~4 547 параметров верно классифицирует 9 из 10 точек, которые никогда не видела при обучении.

То же самое через терминал

Если предпочитаете командную строку:

bash
# Создать конфиг из пресета
kuz init my.json --preset spirals

# Проверить конфиг (без запуска обучения)
kuz check my.json

# Обучить
kuz train my.json

Что дальше #

После первого запуска:

  • Тутор для новичка — пошаговое объяснение, что делает каждый параметр, почему снижается лосс, как выглядит переобучение и как его остановить.
  • Справочник конфига — полные таблицы по всем полям, правила валидации, примеры конфигов для разных задач.
  • Своя симуляция — как написать RL-среду с нуля и обучить агента.
  • Discord — статус в профиле и карточки в канале при обучении.
  • Команды CLI — все флаги и примеры для работы в терминале и по SSH.