Repin 2.0 — это открытый исследовательский проект (Open Source), созданный для изучения Генеративно-состязательных сетей (GAN). Проект ориентирован на студентов и начинающих разработчиков в сфере Machine Learning, предоставляя прозрачную реализацию классической архитектуры MNIST GAN с современными оптимизациями.
Мы верим, что лучший способ понять сложные алгоритмы глубокого обучения — это практическое взаимодействие с ними. Repin 2.0 позволяет вам не просто запустить скрипт, но и увидеть, как из случайного шума шаг за шагом рождаются осмысленные формы, и как две нейросети — Генератор и Дискриминатор — обучают друг друга в процессе "игры".
- Прозрачность: Чистый и задокументированный код на PyTorch, идеально подходящий для изучения основ Deep Learning.
- Эксперименты: Удобная настройка гиперпараметров и встроенные инструменты бенчмаркинга.
- Обучение: Пошаговые руководства по обучению моделей «с нуля» до получения первых результатов.
- Интуитивный CLI: Полноценное интерактивное меню на базе библиотеки
rich. - Высокая производительность: Оптимизировано для
torch.xpu(Intel GPU) и поддерживаетbfloat16. - Debug Menu: Встроенные инструменты для инспекции архитектуры и анализа весов.
- Art Upscaling: Демонстрация применения GAN в генеративном искусстве через 8-кратное увеличение (224x224).
Архитектура GAN (Generative Adversarial Network) состоит из двух сетей, конкурирующих друг с другом:
- Генератор (Generator): получает на вход вектор случайного шума и пытается создать из него изображение (цифру), неотличимое от реального.
- Дискриминатор (Discriminator): получает изображения (как настоящие из базы MNIST, так и сгенерированные) и учится отличать подделку от оригинала.
В процессе обучения Генератор становится всё более искусным "фальшивомонетчиком", а Дискриминатор — всё более опытным "экспертом". В результате Генератор учится создавать правдоподобные цифры из пустоты.
Мы подготовили исчерпывающие руководства для обучения и разработки:
- 🚀 Быстрый старт — запустите свою первую модель за минуту.
- 🧠 Архитектура — разбор устройства GAN и функций потерь.
- 🎓 Обучение — руководство по тренировке модели.
- ⚙️ Использование CLI — описание интерфейса управления.
- 🛠 Устранение неполадок — решение типичных проблем.
git clone https://github.com/zzzigrok/repin-2.0.git
cd repin-2.0pip install -r requirements.txt# Запуск интерактивного меню
python cli.py- После запуска
python cli.pyвыберите пункт [1] Обучить модель. - Введите количество эпох (рекомендуется 50 для хорошего результата). Модель скачает датасет MNIST и начнет процесс обучения.
- Дождитесь завершения (вы увидите красивые прогресс-бары и значения потерь
D_Loss/G_Loss). - Нажмите Enter для возврата в меню и выберите [2] Сгенерировать арт.
- Выберите размер батча (например, 16) и получите уникальный PNG-файл с вашим сгенерированным искусством в папке
generated_art/.
cli.py— единый файл приложения (логика обучения + интерфейс).docs/— техническая документация и образовательные материалы.weights/— предобученные веса генератора (repin_weights.pth).generated_art/— результаты работы вашей нейросети.web/— исходный код сайта проекта.
Проект создан сообществом для сообщества. Мы будем рады вашим Pull Requests, будь то исправление опечаток в документации или предложение новых архитектурных решений. См. CONTRIBUTING.md для деталей.
Разработано в рамках TAS Beta. Repin Project • 2026
