Skip to content

Latest commit

 

History

57 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎨 Repin 2.0: Generative Digital Art Studio

Repin 2.0 Logo

Python PyTorch License Style Website

Repin 2.0 — это открытый исследовательский проект (Open Source), созданный для изучения Генеративно-состязательных сетей (GAN). Проект ориентирован на студентов и начинающих разработчиков в сфере Machine Learning, предоставляя прозрачную реализацию классической архитектуры MNIST GAN с современными оптимизациями.

Мы верим, что лучший способ понять сложные алгоритмы глубокого обучения — это практическое взаимодействие с ними. Repin 2.0 позволяет вам не просто запустить скрипт, но и увидеть, как из случайного шума шаг за шагом рождаются осмысленные формы, и как две нейросети — Генератор и Дискриминатор — обучают друг друга в процессе "игры".

Repin 2.1 Interface Preview


🔬 Исследовательский фокус

  • Прозрачность: Чистый и задокументированный код на PyTorch, идеально подходящий для изучения основ Deep Learning.
  • Эксперименты: Удобная настройка гиперпараметров и встроенные инструменты бенчмаркинга.
  • Обучение: Пошаговые руководства по обучению моделей «с нуля» до получения первых результатов.

🚀 Основные возможности

  • Интуитивный CLI: Полноценное интерактивное меню на базе библиотеки rich.
  • Высокая производительность: Оптимизировано для torch.xpu (Intel GPU) и поддерживает bfloat16.
  • Debug Menu: Встроенные инструменты для инспекции архитектуры и анализа весов.
  • Art Upscaling: Демонстрация применения GAN в генеративном искусстве через 8-кратное увеличение (224x224).

💡 Как это работает (Кратко об архитектуре)

Архитектура GAN (Generative Adversarial Network) состоит из двух сетей, конкурирующих друг с другом:

  1. Генератор (Generator): получает на вход вектор случайного шума и пытается создать из него изображение (цифру), неотличимое от реального.
  2. Дискриминатор (Discriminator): получает изображения (как настоящие из базы MNIST, так и сгенерированные) и учится отличать подделку от оригинала.

В процессе обучения Генератор становится всё более искусным "фальшивомонетчиком", а Дискриминатор — всё более опытным "экспертом". В результате Генератор учится создавать правдоподобные цифры из пустоты.

📖 Документация

Мы подготовили исчерпывающие руководства для обучения и разработки:

🛠 Установка и запуск

1. Клонирование репозитория

git clone https://github.com/zzzigrok/repin-2.0.git
cd repin-2.0

2. Установка зависимостей

pip install -r requirements.txt

3. Запуск

# Запуск интерактивного меню
python cli.py

🎮 Пример использования

  1. После запуска python cli.py выберите пункт [1] Обучить модель.
  2. Введите количество эпох (рекомендуется 50 для хорошего результата). Модель скачает датасет MNIST и начнет процесс обучения.
  3. Дождитесь завершения (вы увидите красивые прогресс-бары и значения потерь D_Loss / G_Loss).
  4. Нажмите Enter для возврата в меню и выберите [2] Сгенерировать арт.
  5. Выберите размер батча (например, 16) и получите уникальный PNG-файл с вашим сгенерированным искусством в папке generated_art/.

📁 Структура проекта

  • cli.py — единый файл приложения (логика обучения + интерфейс).
  • docs/ — техническая документация и образовательные материалы.
  • weights/ — предобученные веса генератора (repin_weights.pth).
  • generated_art/ — результаты работы вашей нейросети.
  • web/ — исходный код сайта проекта.

🤝 Участие в разработке

Проект создан сообществом для сообщества. Мы будем рады вашим Pull Requests, будь то исправление опечаток в документации или предложение новых архитектурных решений. См. CONTRIBUTING.md для деталей.


Разработано в рамках TAS Beta. Repin Project • 2026

About

🎨 Repin 2.0: Мощная арт-студия на базе GAN с веб-витриной в стиле Glassmorphism и высокопроизводительным CLI.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages