{"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/instance-selection-for-gans","title":"Instance Selection for GANs","arxiv_id":"2007.15255","date":"2020-07-30","proceeding":"NeurIPS 2020 12","authors":["Terrance DeVries","Michal Drozdzal","Graham W. Taylor"],"abstract":"Recent advances in Generative Adversarial Networks (GANs) have led to their widespread adoption for the purposes of generating high quality synthetic imagery. While capable of generating photo-realistic images, these models often produce unrealistic samples which fall outside of the data manifold. Several recently proposed techniques attempt to avoid spurious samples, either by rejecting them after generation, or by truncating the model's latent space. While effective, these methods are inefficient, as a large fraction of training time and model capacity are dedicated towards samples that will ultimately go unused. In this work we propose a novel approach to improve sample quality: altering the training dataset via instance selection before model training has taken place. By refining the empirical data distribution before training, we redirect model capacity towards high-density regions, which ultimately improves sample fidelity, lowers model capacity requirements, and significantly reduces training time. Code is available at https://github.com/uoguelph-mlrg/instance_selection_for_gans.","url_abs":"https://arxiv.org/abs/2007.15255v2","url_pdf":"https://arxiv.org/pdf/2007.15255v2.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":"instance-selection-for-gans","repo_url":"https://github.com/uoguelph-mlrg/instance_selection_for_gans","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"instance-selection-for-gans","repo_url":"https://github.com/snap-research/3dgp","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"conditional-image-generation","task_name":"Conditional 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":"biggan","method_name":"BigGAN"},{"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":"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":"projection-discriminator","method_name":"Projection Discriminator"},{"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":"ttur","method_name":"TTUR"},{"method_slug":"truncation-trick","method_name":"Truncation Trick"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/conditional-image-generation-on-imagenet","task":"Conditional Image Generation","dataset":"ImageNet 128x128","model":"BigGAN + instance selection","rank_in_archive_order":16,"of":22,"metrics":{"FID":"9.61","Inception score":"114.32"},"uses_additional_data":false},{"leaderboard":"/sota/conditional-image-generation-on-imagenet-1","task":"Conditional Image Generation","dataset":"ImageNet 64x64","model":"SAGAN + instance selection","rank_in_archive_order":2,"of":4,"metrics":{"FID":"9.07","Inception score":"37.1"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2007.15255","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2007.15255"}},"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":"deterministic:regex_extraction","url":"https://github.com/uoguelph-mlrg/instance_selection_for_gans","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/snap-research/3dgp","reach":null}],"summary":{"ran_honours":5,"ran_draft_wrong":4,"ran_fixture":2,"unverified":8},"by_repo_kind":{"official":{"samples":4,"ran":1,"repositories":1},"listed":{"samples":15,"ran":10,"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":19,"samples":[{"code_sha256_prefix":"d17ff266a8e14d95","entry":"compute_patch_coords","repo":"snap-research/3dgp","repo_kind":"listed","path":"src/training/loss.py","file_url":"https://github.com/snap-research/3dgp/blob/HEAD/src/training/loss.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d17ff266a8e14d95"}},{"code_sha256_prefix":"1a80415a81ba0286","entry":"create_patch_params_from_x_scales","repo":"snap-research/3dgp","repo_kind":"listed","path":"src/training/loss.py","file_url":"https://github.com/snap-research/3dgp/blob/HEAD/src/training/loss.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1a80415a81ba0286"}},{"code_sha256_prefix":"83050978b92b849d","entry":"extract_patches","repo":"snap-research/3dgp","repo_kind":"listed","path":"src/training/loss.py","file_url":"https://github.com/snap-research/3dgp/blob/HEAD/src/training/loss.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"83050978b92b849d"}},{"code_sha256_prefix":"dd340f2ccaa3b1c1","entry":"generate_coords","repo":"snap-research/3dgp","repo_kind":"listed","path":"src/training/loss.py","file_url":"https://github.com/snap-research/3dgp/blob/HEAD/src/training/loss.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dd340f2ccaa3b1c1"}},{"code_sha256_prefix":"ff18ad392f262bf4","entry":"get_embeddings_from_loader","repo":"uoguelph-mlrg/instance_selection_for_gans","repo_kind":"official","path":"instance_selection.py","file_url":"https://github.com/uoguelph-mlrg/instance_selection_for_gans/blob/HEAD/instance_selection.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"ff18ad392f262bf4"}},{"code_sha256_prefix":"c8f0199beb8cdd4a","entry":"get_mean_angles_values","repo":"snap-research/3dgp","repo_kind":"listed","path":"src/training/loss.py","file_url":"https://github.com/snap-research/3dgp/blob/HEAD/src/training/loss.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c8f0199beb8cdd4a"}},{"code_sha256_prefix":"97c1685bb8978f57","entry":"linear_schedule","repo":"snap-research/3dgp","repo_kind":"listed","path":"src/training/loss.py","file_url":"https://github.com/snap-research/3dgp/blob/HEAD/src/training/loss.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"97c1685bb8978f57"}},{"code_sha256_prefix":"fec2702e4e6b4e2a","entry":"sample_patch_params","repo":"snap-research/3dgp","repo_kind":"listed","path":"src/training/loss.py","file_url":"https://github.com/snap-research/3dgp/blob/HEAD/src/training/loss.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fec2702e4e6b4e2a"}},{"code_sha256_prefix":"1e37173d536f5edf","entry":"sample_patch_params_beta","repo":"snap-research/3dgp","repo_kind":"listed","path":"src/training/loss.py","file_url":"https://github.com/snap-research/3dgp/blob/HEAD/src/training/loss.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1e37173d536f5edf"}},{"code_sha256_prefix":"b7fba8479ac80873","entry":"sample_patch_params_uniform","repo":"snap-research/3dgp","repo_kind":"listed","path":"src/training/loss.py","file_url":"https://github.com/snap-research/3dgp/blob/HEAD/src/training/loss.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b7fba8479ac80873"}},{"code_sha256_prefix":"6637867e242d3dab","entry":"sample_random_c","repo":"snap-research/3dgp","repo_kind":"listed","path":"src/training/loss.py","file_url":"https://github.com/snap-research/3dgp/blob/HEAD/src/training/loss.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6637867e242d3dab"}},{"code_sha256_prefix":"eb7e5d8169d00081","entry":"EasyDict","repo":"snap-research/3dgp","repo_kind":"listed","path":"src/training/loss.py","file_url":"https://github.com/snap-research/3dgp/blob/HEAD/src/training/loss.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"eb7e5d8169d00081"}},{"code_sha256_prefix":"cec2fa3cb3bf036c","entry":"Loss","repo":"snap-research/3dgp","repo_kind":"listed","path":"src/training/loss.py","file_url":"https://github.com/snap-research/3dgp/blob/HEAD/src/training/loss.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cec2fa3cb3bf036c"}},{"code_sha256_prefix":"80ae2ec4a5e4df48","entry":"StyleGAN2Loss","repo":"snap-research/3dgp","repo_kind":"listed","path":"src/training/loss.py","file_url":"https://github.com/snap-research/3dgp/blob/HEAD/src/training/loss.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"80ae2ec4a5e4df48"}},{"code_sha256_prefix":"8967de870e98579f","entry":"TensorGroup","repo":"snap-research/3dgp","repo_kind":"listed","path":"src/training/loss.py","file_url":"https://github.com/snap-research/3dgp/blob/HEAD/src/training/loss.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8967de870e98579f"}},{"code_sha256_prefix":"8c0803be6096a937","entry":"get_embedder","repo":"uoguelph-mlrg/instance_selection_for_gans","repo_kind":"official","path":"instance_selection.py","file_url":"https://github.com/uoguelph-mlrg/instance_selection_for_gans/blob/HEAD/instance_selection.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"8c0803be6096a937"}},{"code_sha256_prefix":"ed9e5e2f2a6ec523","entry":"get_keep_indices","repo":"uoguelph-mlrg/instance_selection_for_gans","repo_kind":"official","path":"instance_selection.py","file_url":"https://github.com/uoguelph-mlrg/instance_selection_for_gans/blob/HEAD/instance_selection.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"ed9e5e2f2a6ec523"}},{"code_sha256_prefix":"8558d52802c25638","entry":"maybe_blur","repo":"snap-research/3dgp","repo_kind":"listed","path":"src/training/loss.py","file_url":"https://github.com/snap-research/3dgp/blob/HEAD/src/training/loss.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8558d52802c25638"}},{"code_sha256_prefix":"231ca68a3990599f","entry":"select_instances","repo":"uoguelph-mlrg/instance_selection_for_gans","repo_kind":"official","path":"instance_selection.py","file_url":"https://github.com/uoguelph-mlrg/instance_selection_for_gans/blob/HEAD/instance_selection.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"231ca68a3990599f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}