pro_gan_pytorch  by akanimax

PyTorch implementation of Progressive GANs for image synthesis

Created 7 years ago
540 stars

Top 58.9% on SourcePulse

GitHubView on GitHub
Project Summary

This repository offers an unofficial PyTorch implementation of the "Progressive Growing of GANs" paper, designed for researchers and developers working with generative adversarial networks. It provides a robust framework for generating high-quality images with improved training stability and variation, supporting resolutions up to 1024x1024.

How It Works

The project leverages the progressive growing technique, which incrementally adds layers to both the generator and discriminator during training. This method starts with low-resolution image generation and progressively increases resolution, enhancing training stability, quality, and the diversity of generated outputs.

Quick Start & Requirements

  • Requirements: Ubuntu 20.04.3+, Python 3.8.3, NVIDIA GPU (GeForce 1080 Ti or higher with 8GB VRAM), NVIDIA drivers >= 470.86. CUDA 11.3 is recommended, though PyTorch includes CUDA support.
  • Installation: Create a virtual environment and install via pip: pip install pro-gan-pth.
  • Usage: The package provides command-line tools (progan_train, progan_lsid, progan_fid) and can be imported as a Python package (import pro_gan_pytorch as pg).
  • Development: Clone the repository, install in editable mode (pip install -e .), and install development requirements (pip install -r requirements-dev.txt).
  • Resources: The repository contains large binary assets, which may impact cloning times.

Highlighted Details

  • Command-line utilities: Includes tools for training GANs, generating latent-space walk demo videos, and computing FID scores.
  • Training flexibility: Supports configurable epochs, batch sizes, learning rates, loss functions (WGAN-GP, standard GAN), equalized learning rate, and exponential moving averages (EMA).
  • Pre-trained models: Offers links to trained models, including a Metfaces model achieving an FID score of 101.624 at 1024x1024 resolution.
  • Educational content: Features a Medium blog post explaining the progressive growing technique and a YouTube video showcasing training timelapses.

Maintenance & Community

The project is described as "fairly tiny" with no formal CI, automated testing, or documentation building. Contributions are welcomed via PRs and issues. @owang is credited for a Metfaces trained model. No community channels (e.g., Discord, Slack) are listed.

Licensing & Compatibility

The license type is not explicitly stated in the provided README, which may pose a challenge for commercial or closed-source integration without further clarification.

Limitations & Caveats

Training resumption is noted as not currently supported. The latent-space walk demo tool (progan_lsid) is restricted to .mp4 output format. The project lacks automated testing and formal documentation, relying heavily on the README for guidance.

Health Check
Last Commit

2 years ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
0 stars in the last 30 days

Explore Similar Projects

Starred by Shengjia Zhao Shengjia Zhao(Chief Scientist at Meta Superintelligence Lab), Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), and
14 more.

BIG-bench by google

0.1%
3k
Collaborative benchmark for probing and extrapolating LLM capabilities
Created 4 years ago
Updated 1 year ago
Starred by Aravind Srinivas Aravind Srinivas(Cofounder of Perplexity), Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), and
16 more.

text-to-text-transfer-transformer by google-research

0.1%
6k
Unified text-to-text transformer for NLP research
Created 6 years ago
Updated 6 months ago
Feedback? Help us improve.