{"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/compression-with-flows-via-local-bits-back","title":"Compression with Flows via Local Bits-Back Coding","arxiv_id":"1905.08500","date":"2019-05-21","proceeding":"NeurIPS 2019 12","authors":["Jonathan Ho","Evan Lohn","Pieter Abbeel"],"abstract":"Likelihood-based generative models are the backbones of lossless compression due to the guaranteed existence of codes with lengths close to negative log likelihood. However, there is no guaranteed existence of computationally efficient codes that achieve these lengths, and coding algorithms must be hand-tailored to specific types of generative models to ensure computational efficiency. Such coding algorithms are known for autoregressive models and variational autoencoders, but not for general types of flow models. To fill in this gap, we introduce local bits-back coding, a new compression technique for flow models. We present efficient algorithms that instantiate our technique for many popular types of flows, and we demonstrate that our algorithms closely achieve theoretical codelengths for state-of-the-art flow models on high-dimensional data.","url_abs":"https://arxiv.org/abs/1905.08500v3","url_pdf":"https://arxiv.org/pdf/1905.08500v3.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":"compression-with-flows-via-local-bits-back","repo_url":"https://github.com/hojonathanho/localbitsback","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"computational-efficiency","task_name":"Computational Efficiency"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1905.08500","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1905.08500"}},"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/hojonathanho/localbitsback","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":12},"by_repo_kind":{"official":{"samples":12,"ran":0,"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":"6546340b60a0db0c","entry":"compute_jacobian","repo":"hojonathanho/localbitsback","repo_kind":"official","path":"compression/blackbox.py","file_url":"https://github.com/hojonathanho/localbitsback/blob/HEAD/compression/blackbox.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":"6546340b60a0db0c"}},{"code_sha256_prefix":"9953b28b1527a27e","entry":"concat_elu","repo":"hojonathanho/localbitsback","repo_kind":"official","path":"compression/coupling.py","file_url":"https://github.com/hojonathanho/localbitsback/blob/HEAD/compression/coupling.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":"9953b28b1527a27e"}},{"code_sha256_prefix":"321263f39df39cc3","entry":"depth_to_space","repo":"hojonathanho/localbitsback","repo_kind":"official","path":"compression/coupling.py","file_url":"https://github.com/hojonathanho/localbitsback/blob/HEAD/compression/coupling.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":"321263f39df39cc3"}},{"code_sha256_prefix":"755efb24f63a5a6c","entry":"inverse_sigmoid","repo":"hojonathanho/localbitsback","repo_kind":"official","path":"compression/utils.py","file_url":"https://github.com/hojonathanho/localbitsback/blob/HEAD/compression/utils.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":"755efb24f63a5a6c"}},{"code_sha256_prefix":"f9c0f60f522ef8e1","entry":"is_real_type","repo":"hojonathanho/localbitsback","repo_kind":"official","path":"compression/bitstream.py","file_url":"https://github.com/hojonathanho/localbitsback/blob/HEAD/compression/bitstream.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":"f9c0f60f522ef8e1"}},{"code_sha256_prefix":"32885bb81a6183b6","entry":"is_sym_type","repo":"hojonathanho/localbitsback","repo_kind":"official","path":"compression/bitstream.py","file_url":"https://github.com/hojonathanho/localbitsback/blob/HEAD/compression/bitstream.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":"32885bb81a6183b6"}},{"code_sha256_prefix":"1b3f475609fa4f7f","entry":"logistic_logcdf","repo":"hojonathanho/localbitsback","repo_kind":"official","path":"compression/logistic.py","file_url":"https://github.com/hojonathanho/localbitsback/blob/HEAD/compression/logistic.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":"1b3f475609fa4f7f"}},{"code_sha256_prefix":"92a39c6cf1325433","entry":"logistic_logpdf","repo":"hojonathanho/localbitsback","repo_kind":"official","path":"compression/logistic.py","file_url":"https://github.com/hojonathanho/localbitsback/blob/HEAD/compression/logistic.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":"92a39c6cf1325433"}},{"code_sha256_prefix":"28f4d43740cbfafd","entry":"mixlogistic_logpdf","repo":"hojonathanho/localbitsback","repo_kind":"official","path":"compression/logistic.py","file_url":"https://github.com/hojonathanho/localbitsback/blob/HEAD/compression/logistic.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":"28f4d43740cbfafd"}},{"code_sha256_prefix":"33514ec7c72a14ac","entry":"space_to_depth","repo":"hojonathanho/localbitsback","repo_kind":"official","path":"compression/coupling.py","file_url":"https://github.com/hojonathanho/localbitsback/blob/HEAD/compression/coupling.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":"33514ec7c72a14ac"}},{"code_sha256_prefix":"07e7946c0986886e","entry":"standard_normal_logp","repo":"hojonathanho/localbitsback","repo_kind":"official","path":"compression/utils.py","file_url":"https://github.com/hojonathanho/localbitsback/blob/HEAD/compression/utils.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":"07e7946c0986886e"}},{"code_sha256_prefix":"66218714ad7612c3","entry":"sumflat","repo":"hojonathanho/localbitsback","repo_kind":"official","path":"compression/utils.py","file_url":"https://github.com/hojonathanho/localbitsback/blob/HEAD/compression/utils.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":"66218714ad7612c3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}