{"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/ffjord-free-form-continuous-dynamics-for","title":"FFJORD: Free-form Continuous Dynamics for Scalable Reversible Generative Models","arxiv_id":"1810.01367","date":"2018-10-02","proceeding":"ICLR 2019 5","authors":["Will Grathwohl","Ricky T. Q. Chen","Jesse Bettencourt","Ilya Sutskever","David Duvenaud"],"abstract":"A promising class of generative models maps points from a simple distribution\nto a complex distribution through an invertible neural network.\nLikelihood-based training of these models requires restricting their\narchitectures to allow cheap computation of Jacobian determinants.\nAlternatively, the Jacobian trace can be used if the transformation is\nspecified by an ordinary differential equation. In this paper, we use\nHutchinson's trace estimator to give a scalable unbiased estimate of the\nlog-density. The result is a continuous-time invertible generative model with\nunbiased density estimation and one-pass sampling, while allowing unrestricted\nneural network architectures. We demonstrate our approach on high-dimensional\ndensity estimation, image generation, and variational inference, achieving the\nstate-of-the-art among exact likelihood methods with efficient sampling.","url_abs":"http://arxiv.org/abs/1810.01367v3","url_pdf":"http://arxiv.org/pdf/1810.01367v3.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":"ffjord-free-form-continuous-dynamics-for","repo_url":"https://github.com/BorealisAI/continuous-time-flow-process","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"ffjord-free-form-continuous-dynamics-for","repo_url":"https://github.com/jackgoffinet/ffjord-lite","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"ffjord-free-form-continuous-dynamics-for","repo_url":"https://github.com/jacobjinkelly/easy-neural-ode","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":null},{"paper_slug":"ffjord-free-form-continuous-dynamics-for","repo_url":"https://github.com/lenz3000/ffjord-path","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"ffjord-free-form-continuous-dynamics-for","repo_url":"https://github.com/mandubian/pytorch-neural-ode","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"ffjord-free-form-continuous-dynamics-for","repo_url":"https://github.com/rtqichen/ffjord","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"ffjord-free-form-continuous-dynamics-for","repo_url":"https://github.com/francois-rozet/zuko","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"density-estimation","task_name":"Density Estimation"},{"task_slug":"form","task_name":"Form"},{"task_slug":"image-generation","task_name":"Image Generation"},{"task_slug":"variational-inference","task_name":"Variational Inference"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/density-estimation-on-bsds300","task":"Density Estimation","dataset":"BSDS300","model":"FFJORD","rank_in_archive_order":2,"of":5,"metrics":{"CD":"0.683","EMD":"0.0281","Log-likelihood":"157.4","MMD-CD":"0.548","MMD-EMD":"0.0227","NLL":"-157.4"},"uses_additional_data":false},{"leaderboard":"/sota/density-estimation-on-cifar-10","task":"Density Estimation","dataset":"CIFAR-10","model":"FFJORD","rank_in_archive_order":12,"of":15,"metrics":{"NLL (bits/dim)":"3.4"},"uses_additional_data":false},{"leaderboard":"/sota/density-estimation-on-caltech-101","task":"Density Estimation","dataset":"Caltech-101","model":"FFJORD","rank_in_archive_order":2,"of":3,"metrics":{"COV-L2":"98.8%","MMD-L2":"18.6","Negative ELBO":"104.03"},"uses_additional_data":false},{"leaderboard":"/sota/density-estimation-on-freyfaces","task":"Density Estimation","dataset":"Freyfaces","model":"FFJORD","rank_in_archive_order":2,"of":3,"metrics":{"COV-L2":"100%","MMD-L2":"0.834","Negative ELBO":"4.39"},"uses_additional_data":false},{"leaderboard":"/sota/density-estimation-on-mnist","task":"Density Estimation","dataset":"MNIST","model":"FFJORD","rank_in_archive_order":3,"of":6,"metrics":{"COV-L2":"96.4%","MMD-L2":"17.3","NLL (bits/dim)":"0.99"},"uses_additional_data":false},{"leaderboard":"/sota/density-estimation-on-omniglot","task":"Density Estimation","dataset":"OMNIGLOT","model":"FFJORD","rank_in_archive_order":2,"of":4,"metrics":{"COV-L2":"99%","MMD-L2":"20.5","Negative ELBO":"98.33"},"uses_additional_data":false},{"leaderboard":"/sota/density-estimation-on-uci-gas","task":"Density Estimation","dataset":"UCI GAS","model":"FFJORD","rank_in_archive_order":3,"of":5,"metrics":{"CD":"1.29","EMD":"0.146","Log-likelihood":"8.59","MMD-CD":"0.95","MMD-EMD":"0.135"},"uses_additional_data":false},{"leaderboard":"/sota/density-estimation-on-uci-hepmass","task":"Density Estimation","dataset":"UCI HEPMASS","model":"FFJORD","rank_in_archive_order":1,"of":5,"metrics":{"CD":"13.8","EMD":"0.164","Log-likelihood":"-14.92","MMD-CD":"13.8","MMD-EMD":"0.158","NLL":"14.92"},"uses_additional_data":false},{"leaderboard":"/sota/density-estimation-on-uci-miniboone","task":"Density Estimation","dataset":"UCI MINIBOONE","model":"FFJORD","rank_in_archive_order":2,"of":5,"metrics":{"CD":"24.6","EMD":"0.27","Log-likelihood":"-10.43","MMD-CD":"24.1","MMD-EMD":"0.254","NLL":"10.43"},"uses_additional_data":false},{"leaderboard":"/sota/density-estimation-on-uci-power","task":"Density Estimation","dataset":"UCI POWER","model":"FFJORD","rank_in_archive_order":4,"of":6,"metrics":{"CD":"0.153","EMD":"0.116","Log-likelihood":"0.46","MMD-CD":"0.144","MMD-EMD":"0.111","NLL":"-0.46"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1810.01367","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1810.01367"}},"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/rtqichen/ffjord","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jacobjinkelly/easy-neural-ode","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jackgoffinet/ffjord-lite","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/francois-rozet/zuko","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/BorealisAI/continuous-time-flow-process","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lenz3000/ffjord-path","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mandubian/pytorch-neural-ode","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran":4,"unverified":1},"by_repo_kind":{"listed":{"samples":5,"ran":4,"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":"95a9c83deee45d05","entry":"CNF","repo":"rtqichen/ffjord","repo_kind":"listed","path":"lib/layers/cnf.py","file_url":"https://github.com/rtqichen/ffjord/blob/HEAD/lib/layers/cnf.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"95a9c83deee45d05"}},{"code_sha256_prefix":"cc866c798f64c000","entry":"FfjordModel","repo":"jackgoffinet/ffjord-lite","repo_kind":"listed","path":"script.py","file_url":"https://github.com/jackgoffinet/ffjord-lite/blob/HEAD/script.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cc866c798f64c000"}},{"code_sha256_prefix":"bc4c9f15c07b078a","entry":"ODEfunc","repo":"jackgoffinet/ffjord-lite","repo_kind":"listed","path":"script.py","file_url":"https://github.com/jackgoffinet/ffjord-lite/blob/HEAD/script.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bc4c9f15c07b078a"}},{"code_sha256_prefix":"846f94d3f2e1378b","entry":"RegularizedODEfunc","repo":"rtqichen/ffjord","repo_kind":"listed","path":"lib/layers/cnf.py","file_url":"https://github.com/rtqichen/ffjord/blob/HEAD/lib/layers/cnf.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"846f94d3f2e1378b"}},{"code_sha256_prefix":"def28b9e7df60464","entry":"ODEfunc","repo":"lenz3000/ffjord-path","repo_kind":"listed","path":"lib/layers/odefunc.py","file_url":"https://github.com/lenz3000/ffjord-path/blob/HEAD/lib/layers/odefunc.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":"def28b9e7df60464"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}