Bidirectional Generative Adversarial Network (BiGAN) is extended version of Generative Adversarial Network (GAN). BiGAN learns not only to map from simple latent distribution to complex data distribution as GANs does, but it is able to learn inverse mapping as well. Learned features representation can be used for supervised tasks. In this work I will present results of "Adversarial Feature Learning" ICRL 2017 paper reproduction. In addition, supervised version of BiGAN will be introduced using ideas from Conditional Generative Adversarial Network (CGAN).