{"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/studiogan-a-taxonomy-and-benchmark-of-gans","title":"StudioGAN: A Taxonomy and Benchmark of GANs for Image Synthesis","arxiv_id":"2206.09479","date":"2022-06-19","proceeding":null,"authors":["Minguk Kang","Joonghyuk Shin","Jaesik Park"],"abstract":"Generative Adversarial Network (GAN) is one of the state-of-the-art generative models for realistic image synthesis. While training and evaluating GAN becomes increasingly important, the current GAN research ecosystem does not provide reliable benchmarks for which the evaluation is conducted consistently and fairly. Furthermore, because there are few validated GAN implementations, researchers devote considerable time to reproducing baselines. We study the taxonomy of GAN approaches and present a new open-source library named StudioGAN. StudioGAN supports 7 GAN architectures, 9 conditioning methods, 4 adversarial losses, 12 regularization modules, 3 differentiable augmentations, 7 evaluation metrics, and 5 evaluation backbones. With our training and evaluation protocol, we present a large-scale benchmark using various datasets (CIFAR10, ImageNet, AFHQv2, FFHQ, and Baby/Papa/Granpa-ImageNet) and 3 different evaluation backbones (InceptionV3, SwAV, and Swin Transformer). Unlike other benchmarks used in the GAN community, we train representative GANs, including BigGAN and StyleGAN series in a unified training pipeline and quantify generation performance with 7 evaluation metrics. The benchmark evaluates other cutting-edge generative models (e.g., StyleGAN-XL, ADM, MaskGIT, and RQ-Transformer). StudioGAN provides GAN implementations, training, and evaluation scripts with the pre-trained weights. StudioGAN is available at https://github.com/POSTECH-CVLab/PyTorch-StudioGAN.","url_abs":"https://arxiv.org/abs/2206.09479v3","url_pdf":"https://arxiv.org/pdf/2206.09479v3.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":"studiogan-a-taxonomy-and-benchmark-of-gans","repo_url":"https://github.com/POSTECH-CVLab/PyTorch-StudioGAN","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"studiogan-a-taxonomy-and-benchmark-of-gans","repo_url":"https://github.com/lyqcom/biggan","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":null,"task_name":"Generative Adversarial Network"},{"task_slug":"image-generation","task_name":"Image Generation"}],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"conditional-batch-normalization","method_name":"Conditional Batch Normalization"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"early-stopping","method_name":"Early Stopping"},{"method_slug":"feedforward-network","method_name":"Feedforward Network"},{"method_slug":"gan-hinge-loss","method_name":"GAN Hinge Loss"},{"method_slug":"lars","method_name":"LARS"},{"method_slug":null,"method_name":"Library"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"non-local-block","method_name":"Non-Local Block"},{"method_slug":"non-local-operation","method_name":"Non-Local Operation"},{"method_slug":"off-diagonal-orthogonal-regularization","method_name":"Off-Diagonal Orthogonal Regularization"},{"method_slug":"path-length-regularization","method_name":"Path Length Regularization"},{"method_slug":"projection-discriminator","method_name":"Projection Discriminator"},{"method_slug":"r1-regularization","method_name":"R1 Regularization"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"residual-block","method_name":"Residual Block"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"sagan","method_name":"SAGAN"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"spectral-normalization","method_name":"Spectral Normalization"},{"method_slug":"swav","method_name":"SwAV"},{"method_slug":"ttur","method_name":"TTUR"},{"method_slug":"truncation-trick","method_name":"Truncation Trick"},{"method_slug":"weight-demodulation","method_name":"Weight Demodulation"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2206.09479","atlas_url":"https://app.syntology.ai/?focus=2206.09479","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2206.09479"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/POSTECH-CVLab/PyTorch-StudioGAN","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lyqcom/biggan","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_draft_wrong":2,"ran":4,"unverified":5},"by_repo_kind":{"official":{"samples":1,"ran":1,"repositories":1},"listed":{"samples":10,"ran":5,"repositories":1}},"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":1,"samples":[{"code_sha256_prefix":"85eb95cce203dfc7","entry":"D_arch","repo":"lyqcom/biggan","repo_kind":"listed","path":"model/BigGAN.py","file_url":"https://github.com/lyqcom/biggan/blob/HEAD/model/BigGAN.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"85eb95cce203dfc7"}},{"code_sha256_prefix":"d441601e14f2c498","entry":"cal_fid","repo":"lyqcom/biggan","repo_kind":"listed","path":"src/inception_utils.py","file_url":"https://github.com/lyqcom/biggan/blob/HEAD/src/inception_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d441601e14f2c498"}},{"code_sha256_prefix":"130fb10627e87139","entry":"find_classes","repo":"lyqcom/biggan","repo_kind":"listed","path":"src/datasets.py","file_url":"https://github.com/lyqcom/biggan/blob/HEAD/src/datasets.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"130fb10627e87139"}},{"code_sha256_prefix":"39565434228935b8","entry":"is_image_file","repo":"lyqcom/biggan","repo_kind":"listed","path":"src/datasets.py","file_url":"https://github.com/lyqcom/biggan/blob/HEAD/src/datasets.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"39565434228935b8"}},{"code_sha256_prefix":"c92e605aa8f6c735","entry":"make_dataset","repo":"lyqcom/biggan","repo_kind":"listed","path":"src/datasets.py","file_url":"https://github.com/lyqcom/biggan/blob/HEAD/src/datasets.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c92e605aa8f6c735"}},{"code_sha256_prefix":"670fe68b890c9792","entry":"normalize_2nd_moment","repo":"POSTECH-CVLab/PyTorch-StudioGAN","repo_kind":"official","path":"src/models/stylegan2.py","file_url":"https://github.com/POSTECH-CVLab/PyTorch-StudioGAN/blob/HEAD/src/models/stylegan2.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":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"670fe68b890c9792"}},{"code_sha256_prefix":"645f242bb645d145","entry":"CAL_FID","repo":"lyqcom/biggan","repo_kind":"listed","path":"src/inception_utils.py","file_url":"https://github.com/lyqcom/biggan/blob/HEAD/src/inception_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"645f242bb645d145"}},{"code_sha256_prefix":"44d6a6343f6eb182","entry":"G_arch","repo":"lyqcom/biggan","repo_kind":"listed","path":"model/BigGAN.py","file_url":"https://github.com/lyqcom/biggan/blob/HEAD/model/BigGAN.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"44d6a6343f6eb182"}},{"code_sha256_prefix":"c4171e8c1ba5ea65","entry":"add_sample_parser","repo":"lyqcom/biggan","repo_kind":"listed","path":"src/utils.py","file_url":"https://github.com/lyqcom/biggan/blob/HEAD/src/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c4171e8c1ba5ea65"}},{"code_sha256_prefix":"69b2abc7f7010394","entry":"numpy_calculate_frechet_distance","repo":"lyqcom/biggan","repo_kind":"listed","path":"src/inception_utils.py","file_url":"https://github.com/lyqcom/biggan/blob/HEAD/src/inception_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"69b2abc7f7010394"}},{"code_sha256_prefix":"e6f2eaa40b13c353","entry":"update_config_roots","repo":"lyqcom/biggan","repo_kind":"listed","path":"src/utils.py","file_url":"https://github.com/lyqcom/biggan/blob/HEAD/src/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e6f2eaa40b13c353"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}