Code for the paper "Generative Dual Adversarial Network for Generalized Zero-shot Learning"
Dataset is available here, please download and extract it under ./data and make sure the "data_root" variable in config yaml file is correct.
Modify config files as needed.
Pretrain CVAE, and checkpoints are stored in the directory specified by "vae_dir" in config file:
python pretrain_gdan.py --config configs/cub.yml
Choose which CVAE checkpoint you want to use to initialize the GDAN model and modify the "vae_ckpt" variable in the yaml file. Then we can train GDAN by running:
python train_gdan.py --config configs/cub.yml
Use validation data to decide which saved checkpoint of GDAN (directory specified by "ckpt_dir" in config yaml file) to be used for testing and run evaluation:
python valtest_gdan.py --config configs/cub.yml
Bibtex:
@InProceedings{Huang_2019_CVPR,
author = {Huang, He and Wang, Changhu and Yu, Philip S. and Wang, Chang-Dong},
title = {Generative Dual Adversarial Network for Generalized Zero-Shot Learning},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2019}
}