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}}
}