GAN 自从被提出后,便迅速受到广泛关注。我们可以将 GAN 分为两类,一类是无条件下的生成;另一类是基于条件信息的生成。近日,来自韩国浦项科技大学的硕士生在 GitHub 上开源了一个项目,提供了条件 / 无条件图像生成的代表性生成对抗网络(GAN)的实现。
提供了大量 PyTorch 框架的 GAN 实现;
基于 CIFAR 10、Tiny ImageNet 和 ImageNet 数据集的 GAN 基准;
相较原始实现的更好的性能和更低的内存消耗;
提供完全最新 PyTorch 环境的预训练模型;
支持多 GPU(DP、DDP 和多节点 DDP)、混合精度、同步批归一化、LARS、Tensorboard 可视化和其他分析方法。
G/D_type 表示将标签信息注入生成器或判别式的方式;
EMA 表示生成器中应用更新后的指数移动平均线;
Tiny ImageNet 数据集上的实验使用的是 ResNet 架构而不是 CNN。
Anaconda
Python >= 3.6
6.0.0 <= Pillow <= 7.0.0
scipy == 1.1.0
sklearn
seaborn
h5py
tqdm
torch >= 1.6.0
torchvision >= 0.7.0
tensorboard
5.4.0 <= gcc <= 7.4.0
torchlars
conda env create -f environment.yml -n studiogan
docker pull mgkang/studiogan:latest
docker run -it --gpus all --shm-size 128g -p 6006:6006 --name studioGAN -v /home/USER:/root/code --workdir /root/code mgkang/studiogan:latest /bin/bash
CUDA_VISIBLE_DEVICES=0 python3 src/main.py -t -e -c CONFIG_PATH
CUDA_VISIBLE_DEVICES=0,1,2,3 python3 src/main.py -t -e -c CONFIG_PATH
~ PyTorch-StudioGAN/logs/RUN_NAME>>> tensorboard --logdir=./ --port PORT
CUDA_VISIBLE_DEVICES=0,...,N python3 src/main.py -iv -std_stat --standing_step STANDING_STEP -c CONFIG_PATH --checkpoint_folder CHECKPOINT_FOLDER --log_output_path LOG_OUTPUT_PATH
CUDA_VISIBLE_DEVICES=0,...,N python3 src/main.py -knn -std_stat --standing_step STANDING_STEP -c CONFIG_PATH --checkpoint_folder CHECKPOINT_FOLDER --log_output_path LOG_OUTPUT_PATH
CUDA_VISIBLE_DEVICES=0,...,N python3 src/main.py -itp -std_stat --standing_step STANDING_STEP -c CONFIG_PATH --checkpoint_folder CHECKPOINT_FOLDER --log_output_path LOG_OUTPUT_PATH