PyTorch VAE
1.0.0
更新22/12/2021:添加了對Pytorch Lightning 1.5.6版本並清理代碼的支持。
Pytorch中實現的差異自動編碼器(VAE)集合,重點是可重複性。該項目的目的是為許多酷Vae車型提供一個快速簡單的工作示例。所有模型均在Celeba數據集上進行培訓,以進行一致性和比較。所有模型的體系結構在相同的層中保持盡可能相似,除了原始論文需要具有根本不同的體系結構的情況(例如,vq vae使用殘留層和沒有批處理 - 與其他模型不同)。這是每個模型的結果。
$ git clone https://github.com/AntixK/PyTorch-VAE
$ cd PyTorch-VAE
$ pip install -r requirements.txt
$ cd PyTorch-VAE
$ python run.py -c configs/<config-file-name.yaml>
配置文件模板
model_params :
name : " <name of VAE model> "
in_channels : 3
latent_dim :
. # Other parameters required by the model
.
.
data_params :
data_path : " <path to the celebA dataset> "
train_batch_size : 64 # Better to have a square number
val_batch_size : 64
patch_size : 64 # Models are designed to work for this size
num_workers : 4
exp_params :
manual_seed : 1265
LR : 0.005
weight_decay :
. # Other arguments required for training, like scheduler etc.
.
.
trainer_params :
gpus : 1
max_epochs : 100
gradient_clip_val : 1.5
.
.
.
logging_params :
save_dir : " logs/ "
name : " <experiment name> "查看張板日誌
$ cd logs/<experiment name>/version_<the version you want>
$ tensorboard --logdir .
注意:默認數據集是Celeba。但是,從Google Drive下載數據集(由於某些文件結構更改)存在許多問題。因此,建議是直接從Google Drive下載文件,然後提取到您選擇的路徑。配置文件中假定的默認路徑是`data/celeba/img_align_celeba'。但是您可以將其更改為您的偏好。
| 模型 | 紙 | 重建 | 樣品 |
|---|---|---|---|
| vae(代碼,配置) | 關聯 | ![]() | ![]() |
| 有條件的VAE(代碼,配置) | 關聯 | ![]() | ![]() |
| WAE -MMD(RBF內核)(代碼,配置) | 關聯 | ![]() | ![]() |
| WAE -MMD(IMQ內核)(代碼,配置) | 關聯 | ![]() | ![]() |
| beta-vae(代碼,配置) | 關聯 | ![]() | ![]() |
| 解開β-VAE(代碼,配置) | 關聯 | ![]() | ![]() |
| beta-tc-vae(代碼,配置) | 關聯 | ![]() | ![]() |
| IWAE( k = 5 )(代碼,配置) | 關聯 | ![]() | ![]() |
| miwae( k = 5,m = 3 )(代碼,配置) | 關聯 | ![]() | ![]() |
| dfcvae(代碼,配置) | 關聯 | ![]() | ![]() |
| MSSIM VAE(代碼,配置) | 關聯 | ![]() | ![]() |
| 分類VAE(代碼,配置) | 關聯 | ![]() | ![]() |
| 聯合VAE(代碼,配置) | 關聯 | ![]() | ![]() |
| 信息vae(代碼,配置) | 關聯 | ![]() | ![]() |
| logcosh vae(代碼,配置) | 關聯 | ![]() | ![]() |
| SWAE(200個預測)(代碼,配置) | 關聯 | ![]() | ![]() |
| VQ-VAE( k = 512,d = 64 )(代碼,配置) | 關聯 | ![]() | N/A。 |
| DIP VAE(代碼,配置) | 關聯 | ![]() | ![]() |
如果您使用這些實現培訓了一個更好的模型,通過對配置文件中的Hyper-Param進行微調,我很樂意將您的結果(與您的配置文件一起)在此存儲庫中包括您的名字?
此外,如果您想貢獻一些模型,請提交PR。
Apache許可證2.0
| 權限 | 限制 | 狀況 |
|---|---|---|
| ✔️商業用途 | 商標使用 | ⓘ許可證和版權通知 |
| ✔️修改 | 責任 | ⓘ狀態變化 |
| ✔️發行 | 保修單 | |
| ✔️專利使用 | ||
| ✔️私人使用 |
@misc{Subramanian2020,
author = {Subramanian, A.K},
title = {PyTorch-VAE},
year = {2020},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {url{https://github.com/AntixK/PyTorch-VAE}}
}