Imported from https://github.com/xiangzhang1015/Adversarial-Variational-Semi-supervised-Learning