MCPcopy
hub / github.com/hanzhanggit/StackGAN

github.com/hanzhanggit/StackGAN @main sqlite

repository ↗ · DeepWiki ↗
143 symbols 419 edges 18 files 33 documented · 23%
README

StackGAN

Tensorflow implementation for reproducing main results in the paper StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks by Han Zhang, Tao Xu, Hongsheng Li, Shaoting Zhang, Xiaogang Wang, Xiaolei Huang, Dimitris Metaxas.

Dependencies

python 2.7

TensorFlow 0.12

[Optional] Torch is needed, if use the pre-trained char-CNN-RNN text encoder.

[Optional] skip-thought is needed, if use the skip-thought text encoder.

In addition, please add the project folder to PYTHONPATH and pip install the following packages: - prettytensor - progressbar - python-dateutil - easydict - pandas - torchfile

Data

  1. Download our preprocessed char-CNN-RNN text embeddings for birds and flowers and save them to Data/.
  2. [Optional] Follow the instructions reedscot/icml2016 to download the pretrained char-CNN-RNN text encoders and extract text embeddings.
  3. Download the birds and flowers image data. Extract them to Data/birds/ and Data/flowers/, respectively.
  4. Preprocess images.
  5. For birds: python misc/preprocess_birds.py
  6. For flowers: python misc/preprocess_flowers.py

Training - The steps to train a StackGAN model on the CUB dataset using our preprocessed data for birds. - Step 1: train Stage-I GAN (e.g., for 600 epochs) python stageI/run_exp.py --cfg stageI/cfg/birds.yml --gpu 0 - Step 2: train Stage-II GAN (e.g., for another 600 epochs) python stageII/run_exp.py --cfg stageII/cfg/birds.yml --gpu 1 - Change birds.yml to flowers.yml to train a StackGAN model on Oxford-102 dataset using our preprocessed data for flowers. - *.yml files are example configuration files for training/testing our models. - If you want to try your own datasets, here are some good tips about how to train GAN. Also, we encourage to try different hyper-parameters and architectures, especially for more complex datasets.

Pretrained Model - StackGAN for birds trained from char-CNN-RNN text embeddings. Download and save it to models/. - StackGAN for flowers trained from char-CNN-RNN text embeddings. Download and save it to models/. - StackGAN for birds trained from skip-thought text embeddings. Download and save it to models/ (Just used the same setting as the char-CNN-RNN. We assume better results can be achieved by playing with the hyper-parameters).

Run Demos - Run sh demo/flowers_demo.sh to generate flower samples from sentences. The results will be saved to Data/flowers/example_captions/. (Need to download the char-CNN-RNN text encoder for flowers to models/text_encoder/. Note: this text encoder is provided by reedscot/icml2016). - Run sh demo/birds_demo.sh to generate bird samples from sentences. The results will be saved to Data/birds/example_captions/.(Need to download the char-CNN-RNN text encoder for birds to models/text_encoder/. Note: this text encoder is provided by reedscot/icml2016). - Run python demo/birds_skip_thought_demo.py --cfg demo/cfg/birds-skip-thought-demo.yml --gpu 2 to generate bird samples from sentences. The results will be saved to Data/birds/example_captions-skip-thought/. (Need to download vocabulary for skip-thought vectors to Data/skipthoughts/).

Examples for birds (char-CNN-RNN embeddings), more on youtube:

Examples for flowers (char-CNN-RNN embeddings), more on youtube:

Save your favorite pictures generated by our models since the randomness from noise z and conditioning augmentation makes them creative enough to generate objects with different poses and viewpoints from the same discription :smiley:

Citing StackGAN

If you find StackGAN useful in your research, please consider citing:

@inproceedings{han2017stackgan,
Author = {Han Zhang and Tao Xu and Hongsheng Li and Shaoting Zhang and Xiaogang Wang and Xiaolei Huang and Dimitris Metaxas},
Title = {StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks},
Year = {2017},
booktitle = {{ICCV}},
}

Our follow-up work

References

  • Generative Adversarial Text-to-Image Synthesis Paper Code
  • Learning Deep Representations of Fine-grained Visual Descriptions Paper Code

Core symbols most depended-on inside this repo

_p
called by 16
misc/skipthoughts.py
next_batch
called by 8
misc/datasets.py
mkdir_p
called by 6
misc/utils.py
get_layer
called by 6
misc/skipthoughts.py
define_one_trainer
called by 5
stageII/trainer.py
norm_weight
called by 5
misc/skipthoughts.py
sample_encoded_context
called by 4
stageII/trainer.py
visualize_one_superimage
called by 4
stageII/trainer.py

Shape

Method 81
Function 51
Class 11

Languages

Python100%

Modules by API surface

stageII/trainer.py22 symbols
misc/skipthoughts.py21 symbols
stageI/trainer.py19 symbols
stageII/model.py16 symbols
misc/datasets.py16 symbols
stageI/model.py11 symbols
misc/custom_ops.py11 symbols
misc/utils.py6 symbols
demo/demo.py5 symbols
demo/birds_skip_thought_demo.py5 symbols
misc/preprocess_birds.py4 symbols
misc/preprocess_flowers.py3 symbols

For agents

$ claude mcp add StackGAN \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact