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