Synthesizing and manipulating 2048x1024 images with conditional GANs

Overview





pix2pixHD

Project | Youtube | Paper

Pytorch implementation of our method for high-resolution (e.g. 2048x1024) photorealistic image-to-image translation. It can be used for turning semantic label maps into photo-realistic images or synthesizing portraits from face label maps.

High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs
Ting-Chun Wang1, Ming-Yu Liu1, Jun-Yan Zhu2, Andrew Tao1, Jan Kautz1, Bryan Catanzaro1
1NVIDIA Corporation, 2UC Berkeley
In CVPR 2018.

Image-to-image translation at 2k/1k resolution

  • Our label-to-streetview results

- Interactive editing results

- Additional streetview results

  • Label-to-face and interactive editing results

  • Our editing interface

Prerequisites

  • Linux or macOS
  • Python 2 or 3
  • NVIDIA GPU (11G memory or larger) + CUDA cuDNN

Getting Started

Installation

pip install dominate
  • Clone this repo:
git clone https://github.com/NVIDIA/pix2pixHD
cd pix2pixHD

Testing

  • A few example Cityscapes test images are included in the datasets folder.
  • Please download the pre-trained Cityscapes model from here (google drive link), and put it under ./checkpoints/label2city_1024p/
  • Test the model (bash ./scripts/test_1024p.sh):
#!./scripts/test_1024p.sh
python test.py --name label2city_1024p --netG local --ngf 32 --resize_or_crop none

The test results will be saved to a html file here: ./results/label2city_1024p/test_latest/index.html.

More example scripts can be found in the scripts directory.

Dataset

  • We use the Cityscapes dataset. To train a model on the full dataset, please download it from the official website (registration required). After downloading, please put it under the datasets folder in the same way the example images are provided.

Training

  • Train a model at 1024 x 512 resolution (bash ./scripts/train_512p.sh):
#!./scripts/train_512p.sh
python train.py --name label2city_512p
  • To view training results, please checkout intermediate results in ./checkpoints/label2city_512p/web/index.html. If you have tensorflow installed, you can see tensorboard logs in ./checkpoints/label2city_512p/logs by adding --tf_log to the training scripts.

Multi-GPU training

  • Train a model using multiple GPUs (bash ./scripts/train_512p_multigpu.sh):
#!./scripts/train_512p_multigpu.sh
python train.py --name label2city_512p --batchSize 8 --gpu_ids 0,1,2,3,4,5,6,7

Note: this is not tested and we trained our model using single GPU only. Please use at your own discretion.

Training with Automatic Mixed Precision (AMP) for faster speed

  • To train with mixed precision support, please first install apex from: https://github.com/NVIDIA/apex
  • You can then train the model by adding --fp16. For example,
#!./scripts/train_512p_fp16.sh
python -m torch.distributed.launch train.py --name label2city_512p --fp16

In our test case, it trains about 80% faster with AMP on a Volta machine.

Training at full resolution

  • To train the images at full resolution (2048 x 1024) requires a GPU with 24G memory (bash ./scripts/train_1024p_24G.sh), or 16G memory if using mixed precision (AMP).
  • If only GPUs with 12G memory are available, please use the 12G script (bash ./scripts/train_1024p_12G.sh), which will crop the images during training. Performance is not guaranteed using this script.

Training with your own dataset

  • If you want to train with your own dataset, please generate label maps which are one-channel whose pixel values correspond to the object labels (i.e. 0,1,...,N-1, where N is the number of labels). This is because we need to generate one-hot vectors from the label maps. Please also specity --label_nc N during both training and testing.
  • If your input is not a label map, please just specify --label_nc 0 which will directly use the RGB colors as input. The folders should then be named train_A, train_B instead of train_label, train_img, where the goal is to translate images from A to B.
  • If you don't have instance maps or don't want to use them, please specify --no_instance.
  • The default setting for preprocessing is scale_width, which will scale the width of all training images to opt.loadSize (1024) while keeping the aspect ratio. If you want a different setting, please change it by using the --resize_or_crop option. For example, scale_width_and_crop first resizes the image to have width opt.loadSize and then does random cropping of size (opt.fineSize, opt.fineSize). crop skips the resizing step and only performs random cropping. If you don't want any preprocessing, please specify none, which will do nothing other than making sure the image is divisible by 32.

More Training/Test Details

  • Flags: see options/train_options.py and options/base_options.py for all the training flags; see options/test_options.py and options/base_options.py for all the test flags.
  • Instance map: we take in both label maps and instance maps as input. If you don't want to use instance maps, please specify the flag --no_instance.

Citation

If you find this useful for your research, please use the following.

@inproceedings{wang2018pix2pixHD,
  title={High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs},
  author={Ting-Chun Wang and Ming-Yu Liu and Jun-Yan Zhu and Andrew Tao and Jan Kautz and Bryan Catanzaro},  
  booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
  year={2018}
}

Acknowledgments

This code borrows heavily from pytorch-CycleGAN-and-pix2pix.

Comments
  • Can't use my own dataset for training

    Can't use my own dataset for training

    Traceback (most recent call last): File "train.py", line 61, in Variable(data['image']), Variable(data['feat']), infer=save_fake) File "/home/201683105/anaconda3/lib/python3.6/site-packages/torch/nn/modules/module.py", line 477, in call result = self.forward(*input, **kwargs) File "/home/201683105/anaconda3/lib/python3.6/site-packages/torch/nn/parallel/data_parallel.py", line 121, in forward return self.module(*inputs[0], **kwargs[0]) File "/home/201683105/anaconda3/lib/python3.6/site-packages/torch/nn/modules/module.py", line 477, in call result = self.forward(*input, **kwargs) File "/home/201683105/pix2pixHD/models/pix2pixHD_model.py", line 163, in forward fake_image = self.netG.forward(input_concat) File "/home/201683105/pix2pixHD/models/networks.py", line 213, in forward return self.model(input)
    File "/home/201683105/anaconda3/lib/python3.6/site-packages/torch/nn/modules/module.py", line 477, in call result = self.forward(*input, **kwargs) File "/home/201683105/anaconda3/lib/python3.6/site-packages/torch/nn/modules/container.py", line 91, in forward input = module(input) File "/home/201683105/anaconda3/lib/python3.6/site-packages/torch/nn/modules/module.py", line 477, in call result = self.forward(*input, *kwargs) File "/home/201683105/anaconda3/lib/python3.6/site-packages/torch/nn/modules/conv.py", line 301, in forward self.padding, self.dilation, self.groups) RuntimeError: Given groups=1, weight of size [64, 36, 7, 7], expected input[1, 38, 582, 1030] to have 36 channels, but got 38 channels instead terminate called after throwing an instance of 'at::Error' what(): CUDA error (59): device-side assert triggered (check_status at /opt/conda/conda-bld/pytorch_1532579805626/work/aten/src/ATen/cuda/detail/CUDAHooks.cpp:36) frame #0: at::detail::CUDAStream_free(CUDAStreamInternals&) + 0x50 (0x7f6d3a831c90 in /home/201683105/anaconda3/lib/python3.6/site-packages/torch/lib/libcaffe2.so) frame #1: THCStream_free + 0x13 (0x7f6d177f00a3 in /home/201683105/anaconda3/lib/python3.6/site-packages/torch/lib/libcaffe2_gpu.so) frame #2: + 0xc382cd (0x7f6d3cbaf2cd in /home/201683105/anaconda3/lib/python3.6/site-packages/torch/_C.cpython-36m-x86_64-linux-gnu.so) frame #13: __libc_start_main + 0xf0 (0x7f6d50de0830 in /lib/x86_64-linux-gnu/libc.so.6)

    opened by lzh19961031 22
  • Can I use the pretrained model to do inference with --no_instance flag?

    Can I use the pretrained model to do inference with --no_instance flag?

    If I use the pretrained model to do inference on a new cityscapes dataset, I use this command and the results look great! python test.py --name label2city_1024p --netG local --ngf 32 --resize_or_crop none

    However, if I try to do inference on this same new dataset, with the --no_instance flag, python test.py --name label2city_1024p --netG local --ngf 32 --resize_or_crop none --no_instnace, then I get a warning saying:

    Pretrained network G has fewer layers; The following are not initialized: ['model', 'model1_1']

    It will still continue to produce synthetic outputs, but they look terrible.

    Does something need to be modified to use the pretrained model for inference with --no_instance flag, or does the model need to be retrained with --no_instance in order to do inference in this way?

    Thanks for your help!

    opened by aschneid42 11
  • Problem training on multiple GPUs

    Problem training on multiple GPUs

    I'm successfully training the net on my data without specifying GPU ids. But as soon as i do so i encounter this error:

    Traceback (most recent call last): File "train.py", line 56, in <module> Variable(data['image']), Variable(data['feat']), infer=save_fake) File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/module.py", line 325, in __call__ result = self.forward(*input, **kwargs) File "/opt/conda/lib/python3.6/site-packages/torch/nn/parallel/data_parallel.py", line 68, in forward outputs = self.parallel_apply(replicas, inputs, kwargs) File "/opt/conda/lib/python3.6/site-packages/torch/nn/parallel/data_parallel.py", line 78, in parallel_apply return parallel_apply(replicas, inputs, kwargs, self.device_ids[:len(replicas)]) File "/opt/conda/lib/python3.6/site-packages/torch/nn/parallel/parallel_apply.py", line 67, in parallel_apply raise output File "/opt/conda/lib/python3.6/site-packages/torch/nn/parallel/parallel_apply.py", line 42, in _worker output = module(*input, **kwargs) File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/module.py", line 325, in __call__ result = self.forward(*input, **kwargs) TypeError: forward() missing 4 required positional arguments: 'label', 'inst', 'image', and 'feat'

    The whole code is running inside a docker environment which can access all available GPUs

    >>> torch.cuda.device_count() 8

    my run command looks like this:

    python train.py --name liver_TEST --gpu_ids 0,1,2,3,4,5,6,7 --label_nc 3 --netG local --ngf 32 --num_D 3 --niter_fix_global 20 --fineSize 1024 --no_instance --dataroot ./datasets/liver/

    Any tips what could be the issue here? Thanks in advance and this is really awesome work!!

    opened by eyeswideopen 10
  • stuck before starting training

    stuck before starting training

    right after running the following

    python train.py --name label2city_512p --gpu_ids 0,1,2,4,5,6,7 --batchSize 8
    

    It gets stuck at

    create web directory ./checkpoints/label2city_512p/web..
    
    

    Using torch 0.4.1 torchvision 0.2.1
    python 3.6

    Someone else having this problem?

    opened by sevmardi 8
  • Issues about size of model

    Issues about size of model

    I use the following command to train my model: python train.py --name myname --dataroot ./myroot/ --netG local --label_nc 0 --input_nc 5. It works for me and I can get a good model. However, it seems that the size of model is so large. It is 2.9GB. Is this case normal or I have done something wrong?

    opened by 1999kevin 7
  • Cannot input grayscale images

    Cannot input grayscale images

    Hi,

    I have a folder of grayscale images that I want to use for training. I am using the following command:

    python train.py --dataroot ./datasets/sample --name sample --loadSize 1536 --fineSize 512 --no_flip --batchSize 3 --niter 3000 --gpu_ids 1 --no_instance --resize_or_crop resize_and_crop --label_nc 0 --n_local_enhancers 1 --norm batch --use_dropout --input_nc 1 --output_nc 1

    But I am getting the following error:

    RuntimeError: Given groups=1, weight of size [64, 1, 7, 7], expected input[3, 3, 518, 518] to have 1 channels, but got 3 channels instead

    What is the issue?

    opened by gvenkat21 7
  • how does the program match the input photo with its corresponding real_image

    how does the program match the input photo with its corresponding real_image

    I have gotten a dataset which contains pairs of photos, labels and ground truth. Is it really enough to place the labels in one directory called train_A and the ground_truth in another directory called train_B? I did my experiment with setting like this but found that the program would find false real_images for some input label? An example is shown below:

    Snip20210319_1

    As what I know in pix2pix, the program takes in pairs of photos, and one pair of photo should be placed in one file. Snip20210319_2

    opened by 1999kevin 6
  • Can we train with customize dataset over the own trained model?

    Can we train with customize dataset over the own trained model?

    I already trained my model with "--netG global" by my own dataset and getting good result using pix2pixHD PyTorch implementation. I would like to train further my existing model with another dataset to see if I achieve better accuracy before train "--netG local". Will my idea work? Can I train further with the new dataset over the existing trained model?

    opened by mmreza79 6
  • Multi GPUs

    Multi GPUs

    Hello, I ran this command for my datasets (only 8 pairs of images) on server by using Jupyter interface: python train.py --name DTS --label_nc 0 --no_instance --gpu_ids 0,1,2,3 --batchSize 4

    In first epoch, It ran to here: ############## Forward Pass ###################### losses, generated = model(Variable(data['label']), Variable(data['inst']), Variable(data['image']), Variable(data['feat']), infer=save_fake) and similar to infinite loop. No error was occurred but the program can not continue. I check the status of 4 TitanXp cards. All of them is 100% usage. Some infor: 4 Nvidia TitanXp Cuda 9.2 cuaDnn 7.1 Ubuntu core 16.04

    p/s: I ran this model in each single GPU, it worked well. python train.py --name DTS --label_nc 0 --no_instance --gpu_ids 0 --batchSize 4 => worked well python train.py --name DTS --label_nc 0 --no_instance --gpu_ids 1 --batchSize 4 => worked well python train.py --name DTS --label_nc 0 --no_instance --gpu_ids 2 --batchSize 4 => worked well python train.py --name DTS --label_nc 0 --no_instance --gpu_ids 3 --batchSize 4 => worked well Is there any idea for me? Thanks so much for your help.

    opened by BongBong87 6
  • out of memory when i use own dataset

    out of memory when i use own dataset

    I use the Titan X with 12G memory. But when i train the model on my own dataset it take the message: RuntimeError: cuda runtime error (2) : out of memory at /pytorch/torch/lib/THC/generic/THCStorage.cu:58

    my dataset only have RGB image and corresponding labels, I have add the --no_instance, and the classes of label is 23, so I add --label_nc 23

    opened by guopzhao 6
  • I have an error when training with my own dataset

    I have an error when training with my own dataset

    I am trying to train with my own dataset with the size of 2048*1024 and i have label image and number of label class is set 13. I got this error and anyone can help me find out why this error occurs My command and error message are below

    python train.py --name label2city_1024p_12G --batchSize 8 --no_instance --label_nc 13 --resize_or_crop none --save_epoch_freq 200

    create web directory ./checkpoints/label2city_512p/web... Traceback (most recent call last): File "train.py", line 61, in Variable(data['image']), Variable(data['feat']), infer=save_fake) File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/torch/nn/modules/module.py", line 489, in call result = self.forward(*input, **kwargs) File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/torch/nn/parallel/data_parallel.py", line 143, in forward outputs = self.parallel_apply(replicas, inputs, kwargs) File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/torch/nn/parallel/data_parallel.py", line 153, in parallel_apply return parallel_apply(replicas, inputs, kwargs, self.device_ids[:len(replicas)]) File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/torch/nn/parallel/parallel_apply.py", line 83, in parallel_apply raise output File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/torch/nn/parallel/parallel_apply.py", line 59, in _worker output = module(*input, **kwargs) File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/torch/nn/modules/module.py", line 489, in call result = self.forward(*input, **kwargs) File "/home/ubuntu/pix2pixHD/models/pix2pixHD_model.py", line 165, in forward fake_image = self.netG.forward(input_concat) File "/home/ubuntu/pix2pixHD/models/networks.py", line 213, in forward return self.model(input) File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/torch/nn/modules/module.py", line 489, in call result = self.forward(*input, **kwargs) File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/torch/nn/modules/container.py", line 92, in forward input = module(input) File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/torch/nn/modules/module.py", line 489, in call result = self.forward(*input, **kwargs) File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/torch/nn/modules/conv.py", line 320, in forward self.padding, self.dilation, self.groups) RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED terminate called after throwing an instance of 'c10::Error' what(): CUDA error: device-side assert triggered (insert_events at /pytorch/aten/src/THC/THCCachingAllocator.cpp:470) frame #0: std::function<std::string ()>::operator()() const + 0x11 (0x7f89b602f021 in /home/ubuntu/anaconda3/lib/python3.6/site-packages/torch/lib/libc10.so) frame #1: c10::Error::Error(c10::SourceLocation, std::string const&) + 0x2a (0x7f89b602e8ea in /home/ubuntu/anaconda3/lib/python3.6/site-packages/torch/lib/libc10.so) frame #2: + 0x13dbd92 (0x7f893ec2cd92 in /home/ubuntu/anaconda3/lib/python3.6/site-packages/torch/lib/libcaffe2_gpu.so) frame #3: at::TensorImpl::release_resources() + 0x50 (0x7f893408d440 in /home/ubuntu/anaconda3/lib/python3.6/site-packages/torch/lib/libcaffe2.so) frame #4: + 0x2af03b (0x7f89b50ea03b in /home/ubuntu/anaconda3/lib/python3.6/site-packages/torch/lib/libtorch.so.1) frame #5: torch::autograd::Variable::Impl::release_resources() + 0x17 (0x7f89b535cd27 in /home/ubuntu/anaconda3/lib/python3.6/site-packages/torch/lib/libtorch.so.1) frame #6: + 0x124cfb (0x7f89b6364cfb in /home/ubuntu/anaconda3/lib/python3.6/site-packages/torch/lib/libtorch_python.so) frame #7: + 0x3204af (0x7f89b65604af in /home/ubuntu/anaconda3/lib/python3.6/site-packages/torch/lib/libtorch_python.so) frame #8: + 0x3204f1 (0x7f89b65604f1 in /home/ubuntu/anaconda3/lib/python3.6/site-packages/torch/lib/libtorch_python.so) frame #23: __libc_start_main + 0xf0 (0x7f89c2c3b830 in /lib/x86_64-linux-gnu/libc.so.6)

    opened by SungjinChoi1128 5
  • Image augmentation for training

    Image augmentation for training

    I would like to know how to augment my training data in data-loader. I am trying to img2img translation but due to the limitation of dataset, augmentations such as random crop, zoom in and out, etc. are necessary. I am familiar with augmentation using Compose method, but I couldn’t figure out where I should write code. It would be great if someone could show simple augmentation example as well. :)

    opened by dongyun-kim-arch 0
  • Outdated product?

    Outdated product?

    I installed Pix2PixHD, but it contains a lot of old, outdated code and is not compatible with the latest tensorrt. Will there be a current, newer version of this that is compatible with newer python systems and modules?

    opened by mykeehu 0
  • Let me know how to finetune pretrained model with own datasets

    Let me know how to finetune pretrained model with own datasets

    Please let me know in details how to finetune pretrained model with own datasets. I guess I can use the training option "--load_pretrain" , is it OK?

    opened by MitoTAIKI 0
  • Adding metadata to discriminator

    Adding metadata to discriminator

    Hi Thanks for you great code. what sort of extra metadata could I add to a discriminator during training of pxi2pixHD? Is this done before? if yes, how?

    For instance, for a face generator, what if I add tabular data with "number of eyes" and the x and y of the eyes... Does that make sense, ever?

    Thanks in advance @tcwang0509 any intuition?

    opened by SuroshAhmadZobair 0
  • Why do THIS in the process of clustering features

    Why do THIS in the process of clustering features

    Hi, I wonder that why do this in the process of clustering features.

    https://github.com/NVIDIA/pix2pixHD/blob/5a2c87201c5957e2bf51d79b8acddb9cc1920b26/encode_features.py#L47

    can anyone help me? plz

    opened by daeunni 0
Pytorch implementation of our method for high-resolution (e.g. 2048x1024) photorealistic video-to-video translation.

vid2vid Project | YouTube(short) | YouTube(full) | arXiv | Paper(full) Pytorch implementation for high-resolution (e.g., 2048x1024) photorealistic vid

NVIDIA Corporation 8.1k Jan 1, 2023
Attention-guided gan for synthesizing IR images

SI-AGAN Attention-guided gan for synthesizing IR images This repository contains the Tensorflow code for "Pedestrian Gender Recognition by Style Trans

null 1 Oct 25, 2021
StudioGAN is a Pytorch library providing implementations of representative Generative Adversarial Networks (GANs) for conditional/unconditional image generation.

StudioGAN is a Pytorch library providing implementations of representative Generative Adversarial Networks (GANs) for conditional/unconditional image generation.

null 3k Jan 8, 2023
Official pytorch code for SSC-GAN: Semi-Supervised Single-Stage Controllable GANs for Conditional Fine-Grained Image Generation(ICCV 2021)

SSC-GAN_repo Pytorch implementation for 'Semi-Supervised Single-Stage Controllable GANs for Conditional Fine-Grained Image Generation'.PDF SSC-GAN:Sem

tyty 4 Aug 28, 2022
PyTorch implementation for OCT-GAN Neural ODE-based Conditional Tabular GANs (WWW 2021)

OCT-GAN: Neural ODE-based Conditional Tabular GANs (OCT-GAN) Code for reproducing the experiments in the paper: Jayoung Kim*, Jinsung Jeon*, Jaehoon L

BigDyL 7 Dec 27, 2022
Collapse by Conditioning: Training Class-conditional GANs with Limited Data

Collapse by Conditioning: Training Class-conditional GANs with Limited Data Moha

Mohamad Shahbazi 33 Dec 6, 2022
An image base contains 490 images for learning (400 cars and 90 boats), and another 21 images for testingAn image base contains 490 images for learning (400 cars and 90 boats), and another 21 images for testing

SVM Données Une base d’images contient 490 images pour l’apprentissage (400 voitures et 90 bateaux), et encore 21 images pour fait des tests. Prétrait

Achraf Rahouti 3 Nov 30, 2021
Fader Networks: Manipulating Images by Sliding Attributes - NIPS 2017

FaderNetworks PyTorch implementation of Fader Networks (NIPS 2017). Fader Networks can generate different realistic versions of images by modifying at

Facebook Research 753 Dec 23, 2022
Synthesizing Long-Term 3D Human Motion and Interaction in 3D in CVPR2021

Long-term-Motion-in-3D-Scenes This is an implementation of the CVPR'21 paper "Synthesizing Long-Term 3D Human Motion and Interaction in 3D". Please ch

Jiashun Wang 76 Dec 13, 2022
This is the research repository for Vid2Doppler: Synthesizing Doppler Radar Data from Videos for Training Privacy-Preserving Activity Recognition.

Vid2Doppler: Synthesizing Doppler Radar Data from Videos for Training Privacy-Preserving Activity Recognition This is the research repository for Vid2

Future Interfaces Group (CMU) 26 Dec 24, 2022
FACIAL: Synthesizing Dynamic Talking Face With Implicit Attribute Learning. ICCV, 2021.

FACIAL: Synthesizing Dynamic Talking Face with Implicit Attribute Learning PyTorch implementation for the paper: FACIAL: Synthesizing Dynamic Talking

null 226 Jan 8, 2023
[SIGGRAPH Asia 2021] DeepVecFont: Synthesizing High-quality Vector Fonts via Dual-modality Learning.

DeepVecFont This is the homepage for "DeepVecFont: Synthesizing High-quality Vector Fonts via Dual-modality Learning". Yizhi Wang and Zhouhui Lian. WI

Yizhi Wang 17 Dec 22, 2022
[SIGGRAPH Asia 2021] DeepVecFont: Synthesizing High-quality Vector Fonts via Dual-modality Learning.

DeepVecFont This is the homepage for "DeepVecFont: Synthesizing High-quality Vector Fonts via Dual-modality Learning". Yizhi Wang and Zhouhui Lian. WI

Yizhi Wang 5 Oct 22, 2021
Official code for our ICCV paper: "From Continuity to Editability: Inverting GANs with Consecutive Images"

GANInversion_with_ConsecutiveImgs Official code for our ICCV paper: "From Continuity to Editability: Inverting GANs with Consecutive Images" https://a

QingyangXu 38 Dec 7, 2022
GAN JAX - A toy project to generate images from GANs with JAX

GAN JAX - A toy project to generate images from GANs with JAX This project aims to bring the power of JAX, a Python framework developped by Google and

Valentin Goldité 14 Nov 29, 2022
Tools for manipulating UVs in the Blender viewport.

UV Tool Suite for Blender A set of tools to make editing UVs easier in Blender. These tools can be accessed wither through the Kitfox - UV panel on th

null 35 Oct 29, 2022
MSG-Transformer: Exchanging Local Spatial Information by Manipulating Messenger Tokens

MSG-Transformer Official implementation of the paper MSG-Transformer: Exchanging Local Spatial Information by Manipulating Messenger Tokens, by Jiemin

Hust Visual Learning Team 68 Nov 16, 2022
[CVPR 2021] Anycost GANs for Interactive Image Synthesis and Editing

Anycost GAN video | paper | website Anycost GANs for Interactive Image Synthesis and Editing Ji Lin, Richard Zhang, Frieder Ganz, Song Han, Jun-Yan Zh

MIT HAN Lab 726 Dec 28, 2022
PyTorch implementation of Progressive Growing of GANs for Improved Quality, Stability, and Variation.

PyTorch implementation of Progressive Growing of GANs for Improved Quality, Stability, and Variation. Warning: the master branch might collapse. To ob

null 559 Dec 14, 2022