Table of Contents
This is an unofficial implementation of both ViT-VQGAN and RQ-VAE in Pytorch. ViT-VQGAN is a simple ViT-based Vector Quantized AutoEncoder while RQ-VAE introduces a new residual quantization scheme. Further details can be viewed in the papers
For the ease of installation, you should use anaconda to setup this repo.
A suitable conda environment named enhancing
can be created and activated with:
conda env create -f environment.yaml
conda activate enhancing
Training is easy with one line:
python3 main.py -c config_name -lr learning_rate -e epoch_nums
- Add ViT-VQGAN
- Add ViT-based encoder and decoder
- Add factorized codes
- Add l2-normalized codes
- Replace PatchGAN discriminator with StyleGAN one
- Add RQ-VAE
- Add Residual Quantizer
- Add RQ-Transformer
- Add dataloader for some common dataset
- ImageNet
- LSUN
- COCO
- Add COCO Segmentation
- Add COCO Caption
- CC3M
- Add pretrained models
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Thuan H. Nguyen - @leejohnthuan - [email protected]
This repo is heavily inspired by following repos and papers: