{"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/distilling-the-knowledge-from-normalizing","title":"Distilling the Knowledge from Conditional Normalizing Flows","arxiv_id":"2106.12699","date":"2021-06-24","proceeding":"ICML Workshop INNF 2021 7","authors":["Dmitry Baranchuk","Vladimir Aliev","Artem Babenko"],"abstract":"Normalizing flows are a powerful class of generative models demonstrating strong performance in several speech and vision problems. In contrast to other generative models, normalizing flows are latent variable models with tractable likelihoods and allow for stable training. However, they have to be carefully designed to represent invertible functions with efficient Jacobian determinant calculation. In practice, these requirements lead to overparameterized and sophisticated architectures that are inferior to alternative feed-forward models in terms of inference time and memory consumption. In this work, we investigate whether one can distill flow-based models into more efficient alternatives. We provide a positive answer to this question by proposing a simple distillation approach and demonstrating its effectiveness on state-of-the-art conditional flow-based models for image super-resolution and speech synthesis.","url_abs":"https://arxiv.org/abs/2106.12699v3","url_pdf":"https://arxiv.org/pdf/2106.12699v3.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":"distilling-the-knowledge-from-normalizing","repo_url":"https://github.com/yandex-research/distill-nf","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"image-super-resolution","task_name":"Image Super-Resolution"},{"task_slug":"speech-synthesis","task_name":"Speech Synthesis"},{"task_slug":"super-resolution","task_name":"Super-Resolution"}],"methods":[{"method_slug":"normalizing-flows","method_name":"Normalizing Flows"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2106.12699","atlas_url":"https://app.syntology.ai/?focus=2106.12699","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2106.12699"}},"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/yandex-research/distill-nf","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_fixture":1,"ran":1,"ran_draft_wrong":1,"unverified":8},"by_repo_kind":{"official":{"samples":11,"ran":3,"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":0,"samples":[{"code_sha256_prefix":"b38f9c28c5117398","entry":"fused_add_tanh_sigmoid_multiply","repo":"yandex-research/distill-nf","repo_kind":"official","path":"waveglow/models/waveglow.py","file_url":"https://github.com/yandex-research/distill-nf/blob/HEAD/waveglow/models/waveglow.py","link_basis":"plan_row","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":"b38f9c28c5117398"}},{"code_sha256_prefix":"9c54ab0c75133028","entry":"random_crop","repo":"yandex-research/distill-nf","repo_kind":"official","path":"srflow/datasets.py","file_url":"https://github.com/yandex-research/distill-nf/blob/HEAD/srflow/datasets.py","link_basis":"plan_row","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":"9c54ab0c75133028"}},{"code_sha256_prefix":"b13a72233912c0b1","entry":"remove","repo":"yandex-research/distill-nf","repo_kind":"official","path":"waveglow/models/waveglow.py","file_url":"https://github.com/yandex-research/distill-nf/blob/HEAD/waveglow/models/waveglow.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b13a72233912c0b1"}},{"code_sha256_prefix":"4e8785b3c11abfe7","entry":"calc_loss","repo":"yandex-research/distill-nf","repo_kind":"official","path":"waveglow/models/waveglow.py","file_url":"https://github.com/yandex-research/distill-nf/blob/HEAD/waveglow/models/waveglow.py","link_basis":"first_harvest_node","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":"4e8785b3c11abfe7"}},{"code_sha256_prefix":"6d050c5262a0b80b","entry":"define_Flow","repo":"yandex-research/distill-nf","repo_kind":"official","path":"srflow/models/networks.py","file_url":"https://github.com/yandex-research/distill-nf/blob/HEAD/srflow/models/networks.py","link_basis":"plan_row","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":"6d050c5262a0b80b"}},{"code_sha256_prefix":"b9989538e2009b81","entry":"files_from_txt","repo":"yandex-research/distill-nf","repo_kind":"official","path":"waveglow/mel2samp.py","file_url":"https://github.com/yandex-research/distill-nf/blob/HEAD/waveglow/mel2samp.py","link_basis":"first_harvest_node","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":"b9989538e2009b81"}},{"code_sha256_prefix":"605d293247f8400a","entry":"files_to_list","repo":"yandex-research/distill-nf","repo_kind":"official","path":"waveglow/mel2samp.py","file_url":"https://github.com/yandex-research/distill-nf/blob/HEAD/waveglow/mel2samp.py","link_basis":"first_harvest_node","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":"605d293247f8400a"}},{"code_sha256_prefix":"7d04d276ed855e64","entry":"find_model_using_name","repo":"yandex-research/distill-nf","repo_kind":"official","path":"srflow/models/networks.py","file_url":"https://github.com/yandex-research/distill-nf/blob/HEAD/srflow/models/networks.py","link_basis":"plan_row","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":"7d04d276ed855e64"}},{"code_sha256_prefix":"aa2a9755648c1fe1","entry":"load_wav_to_torch","repo":"yandex-research/distill-nf","repo_kind":"official","path":"waveglow/mel2samp.py","file_url":"https://github.com/yandex-research/distill-nf/blob/HEAD/waveglow/mel2samp.py","link_basis":"first_harvest_node","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":"aa2a9755648c1fe1"}},{"code_sha256_prefix":"1ce86501baae76b7","entry":"random_flip","repo":"yandex-research/distill-nf","repo_kind":"official","path":"srflow/datasets.py","file_url":"https://github.com/yandex-research/distill-nf/blob/HEAD/srflow/datasets.py","link_basis":"first_harvest_node","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":"1ce86501baae76b7"}},{"code_sha256_prefix":"61ad652e6d20d81a","entry":"random_rotation","repo":"yandex-research/distill-nf","repo_kind":"official","path":"srflow/datasets.py","file_url":"https://github.com/yandex-research/distill-nf/blob/HEAD/srflow/datasets.py","link_basis":"first_harvest_node","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":"61ad652e6d20d81a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}