{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/infogan-interpretable-representation-learning","title":"InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets","arxiv_id":"1606.03657","date":"2016-06-12","proceeding":"NeurIPS 2016 12","authors":["Xi Chen","Yan Duan","Rein Houthooft","John Schulman","Ilya Sutskever","Pieter Abbeel"],"abstract":"This paper describes InfoGAN, an information-theoretic extension to the\nGenerative Adversarial Network that is able to learn disentangled\nrepresentations in a completely unsupervised manner. InfoGAN is a generative\nadversarial network that also maximizes the mutual information between a small\nsubset of the latent variables and the observation. We derive a lower bound to\nthe mutual information objective that can be optimized efficiently, and show\nthat our training procedure can be interpreted as a variation of the Wake-Sleep\nalgorithm. Specifically, InfoGAN successfully disentangles writing styles from\ndigit shapes on the MNIST dataset, pose from lighting of 3D rendered images,\nand background digits from the central digit on the SVHN dataset. It also\ndiscovers visual concepts that include hair styles, presence/absence of\neyeglasses, and emotions on the CelebA face dataset. Experiments show that\nInfoGAN learns interpretable representations that are competitive with\nrepresentations learned by existing fully supervised methods.","url_abs":"http://arxiv.org/abs/1606.03657v1","url_pdf":"http://arxiv.org/pdf/1606.03657v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/Evavanrooijen/InfoGAN-PyTorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/JunsikChoi/Pytorch-InfoGAN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/JunsikChoi/Pytorch-InfoGAN-CR","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/KarolyPoka/ULTRON","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"GPL-3.0"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/LJSthu/info-GAN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/Murali81/InfoGAN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/Natsu6767/InfoGAN-PyTorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/Neptune-Trojans/GANs","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/SAGNIKMJR/MetaQNN_ImageGenerationGAN_DiscriminatorFixed_PyTorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/SeonbeomKim/TensorFlow-InfoGAN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/TimoKuenstle/timeseries","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/VitoRazor/Gan_Architecture","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"GPL-3.0"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/amir7d0/InfoGAN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/amiryanj/socialways","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/bacdavid/InfomaxVAE","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/buriburisuri/timeseries_gan","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/cjfghk5697/Pytorch-Research-Paper-Implementations","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/conan7882/tf-gans","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/elingaard/infogan-mnist","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/eriklindernoren/Keras-GAN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/eriklindernoren/PyTorch-GAN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/gtegner/mine-pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/inkplatform/InfoGAN-PyTorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/jeanjerome/semisupervised_timeseries_infogan","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/jonasz/progressive_infogan","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/kaiiwoo/infogan-pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/landeros10/infoganJL","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/openai/InfoGAN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/petrapoklukar/InfoGAN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/reihaneh-torkzadehmahani/DP-CGAN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/sidneyp/bidirectional","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/tensorpack/tensorpack/tree/master/examples/GAN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/vinoth654321/Casia-Webface","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/yashgarg98/GAN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/yukia18/pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/zcemycl/Matlab-GAN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/chandragupta0001/GAN/tree/master/info_gan","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"infogan-interpretable-representation-learning","repo_url":"https://github.com/g4vrel/simple_ml/tree/main/InfoGAN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":null,"task_name":"Generative Adversarial Network"},{"task_slug":"image-generation","task_name":"Image Generation"},{"task_slug":"representation-learning","task_name":"Representation Learning"},{"task_slug":"unsupervised-image-classification","task_name":"Unsupervised Image Classification"},{"task_slug":"unsupervised-mnist","task_name":"Unsupervised MNIST"}],"methods":[{"method_slug":"adam","method_name":"Adam"},{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"feedforward-network","method_name":"Feedforward Network"},{"method_slug":"infogan","method_name":"InfoGAN"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"sigmoid-activation","method_name":"Sigmoid Activation"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"tanh-activation","method_name":"Tanh Activation"}],"datasets_introduced":[],"methods_introduced":[{"slug":"infogan","name":"InfoGAN","full_name":"InfoGAN"}],"results":[{"leaderboard":"/sota/image-generation-on-cub-128-x-128","task":"Image Generation","dataset":"CUB 128 x 128","model":"InfoGAN","rank_in_archive_order":3,"of":4,"metrics":{"FID":"13.20","Inception score":"47.32"},"uses_additional_data":false},{"leaderboard":"/sota/image-generation-on-stanford-cars","task":"Image Generation","dataset":"Stanford Cars","model":"InfoGAN","rank_in_archive_order":3,"of":4,"metrics":{"FID":"17.63","Inception score":"28.62"},"uses_additional_data":false},{"leaderboard":"/sota/image-generation-on-stanford-dogs","task":"Image Generation","dataset":"Stanford Dogs","model":"InfoGAN","rank_in_archive_order":3,"of":4,"metrics":{"FID":"29.34","Inception score":"43.16"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-image-classification-on-mnist","task":"Unsupervised Image Classification","dataset":"MNIST","model":"InfoGAN","rank_in_archive_order":9,"of":10,"metrics":{"Accuracy":"95"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1606.03657","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1606.03657"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/gtegner/mine-pytorch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/openai/InfoGAN","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/landeros10/infoganJL","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yashgarg98/GAN","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/TimoKuenstle/timeseries","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jeanjerome/semisupervised_timeseries_infogan","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Murali81/InfoGAN","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sidneyp/bidirectional","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/g4vrel/simple_ml/tree/main/InfoGAN","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/vinoth654321/Casia-Webface","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jonasz/progressive_infogan","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zcemycl/Matlab-GAN","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/kaiiwoo/infogan-pytorch","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/KarolyPoka/ULTRON","reach":{"status":"ok","spdx":"GPL-3.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/inkplatform/InfoGAN-PyTorch","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/LJSthu/info-GAN","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/JunsikChoi/Pytorch-InfoGAN","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/JunsikChoi/Pytorch-InfoGAN-CR","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/buriburisuri/timeseries_gan","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/elingaard/infogan-mnist","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/petrapoklukar/InfoGAN","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/amir7d0/InfoGAN","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/tensorpack/tensorpack/tree/master/examples/GAN","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Natsu6767/InfoGAN-PyTorch","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/chandragupta0001/GAN/tree/master/info_gan","reach":{"status":"ok"}}],"summary":{"ran_draft_wrong":2,"ran_fixture":2,"ran_honours":1,"unverified":1},"by_repo_kind":{"listed":{"samples":6,"ran":5,"repositories":3}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"2e757a88026d14d3","entry":"build_dist","repo":"gtegner/mine-pytorch","repo_kind":"listed","path":"mine/models/mine.py","file_url":"https://github.com/gtegner/mine-pytorch/blob/HEAD/mine/models/mine.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2e757a88026d14d3"}},{"code_sha256_prefix":"effa600d353bed01","entry":"classify","repo":"reihaneh-torkzadehmahani/DP-CGAN","repo_kind":"listed","path":"DP_CGAN/dp_conditional_gan_mnist/DP_CGAN_MomentAcc.py","file_url":"https://github.com/reihaneh-torkzadehmahani/DP-CGAN/blob/HEAD/DP_CGAN/dp_conditional_gan_mnist/DP_CGAN_MomentAcc.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"effa600d353bed01"}},{"code_sha256_prefix":"a431303cc26f22db","entry":"compute_fpr_tpr_roc","repo":"reihaneh-torkzadehmahani/DP-CGAN","repo_kind":"listed","path":"DP_CGAN/dp_conditional_gan_mnist/DP_CGAN_MomentAcc.py","file_url":"https://github.com/reihaneh-torkzadehmahani/DP-CGAN/blob/HEAD/DP_CGAN/dp_conditional_gan_mnist/DP_CGAN_MomentAcc.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a431303cc26f22db"}},{"code_sha256_prefix":"a1073d8f05df7b5a","entry":"ema","repo":"gtegner/mine-pytorch","repo_kind":"listed","path":"mine/models/mine.py","file_url":"https://github.com/gtegner/mine-pytorch/blob/HEAD/mine/models/mine.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a1073d8f05df7b5a"}},{"code_sha256_prefix":"33a893f5d09f90f7","entry":"ema_loss","repo":"gtegner/mine-pytorch","repo_kind":"listed","path":"mine/models/mine.py","file_url":"https://github.com/gtegner/mine-pytorch/blob/HEAD/mine/models/mine.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"33a893f5d09f90f7"}},{"code_sha256_prefix":"0d666ee36db81e43","entry":"to_categorical","repo":"eriklindernoren/PyTorch-GAN","repo_kind":"listed","path":"implementations/infogan/infogan.py","file_url":"https://github.com/eriklindernoren/PyTorch-GAN/blob/HEAD/implementations/infogan/infogan.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0d666ee36db81e43"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}