{"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/neural-manifold-ordinary-differential","title":"Neural Manifold Ordinary Differential Equations","arxiv_id":"2006.10254","date":"2020-06-18","proceeding":"NeurIPS 2020 12","authors":["Aaron Lou","Derek Lim","Isay Katsman","Leo Huang","Qingxuan Jiang","Ser-Nam Lim","Christopher De Sa"],"abstract":"To better conform to data geometry, recent deep generative modelling techniques adapt Euclidean constructions to non-Euclidean spaces. In this paper, we study normalizing flows on manifolds. Previous work has developed flow models for specific cases; however, these advancements hand craft layers on a manifold-by-manifold basis, restricting generality and inducing cumbersome design constraints. We overcome these issues by introducing Neural Manifold Ordinary Differential Equations, a manifold generalization of Neural ODEs, which enables the construction of Manifold Continuous Normalizing Flows (MCNFs). MCNFs require only local geometry (therefore generalizing to arbitrary manifolds) and compute probabilities with continuous change of variables (allowing for a simple and expressive flow construction). We find that leveraging continuous manifold dynamics produces a marked improvement for both density estimation and downstream tasks.","url_abs":"https://arxiv.org/abs/2006.10254v1","url_pdf":"https://arxiv.org/pdf/2006.10254v1.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":"neural-manifold-ordinary-differential","repo_url":"https://github.com/CUAI/Neural-Manifold-Ordinary-Differential-Equations","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"neural-manifold-ordinary-differential","repo_url":"https://github.com/CUAI/Riemannian-Residual-Neural-Networks","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"neural-manifold-ordinary-differential","repo_url":"https://github.com/CUVL/Neural-Manifold-Ordinary-Differential-Equations","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"density-estimation","task_name":"Density Estimation"}],"methods":[{"method_slug":"normalizing-flows","method_name":"Normalizing Flows"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2006.10254","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.10254"}},"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/CUVL/Neural-Manifold-Ordinary-Differential-Equations","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/CUAI/Neural-Manifold-Ordinary-Differential-Equations","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/CUAI/Riemannian-Residual-Neural-Networks","reach":null}],"summary":{"ran":6,"ran_draft_wrong":3,"unverified":6},"by_repo_kind":{"listed":{"samples":14,"ran":8,"repositories":2}},"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":15,"samples":[{"code_sha256_prefix":"1feadca0c56ac391","entry":"Divsin","repo":"CUAI/Neural-Manifold-Ordinary-Differential-Equations","repo_kind":"listed","path":"flows/mcnf.py","file_url":"https://github.com/CUAI/Neural-Manifold-Ordinary-Differential-Equations/blob/HEAD/flows/mcnf.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1feadca0c56ac391"}},{"code_sha256_prefix":"35f5c012fd5106b8","entry":"FirstJacobianScalar","repo":"CUAI/Neural-Manifold-Ordinary-Differential-Equations","repo_kind":"listed","path":"flows/mcnf.py","file_url":"https://github.com/CUAI/Neural-Manifold-Ordinary-Differential-Equations/blob/HEAD/flows/mcnf.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"35f5c012fd5106b8"}},{"code_sha256_prefix":"3c51a0391013a8c4","entry":"ODEfunc","repo":"CUAI/Neural-Manifold-Ordinary-Differential-Equations","repo_kind":"listed","path":"flows/mcnf.py","file_url":"https://github.com/CUAI/Neural-Manifold-Ordinary-Differential-Equations/blob/HEAD/flows/mcnf.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3c51a0391013a8c4"}},{"code_sha256_prefix":"ad5e86be6eceda9f","entry":"RResNet","repo":"CUAI/Riemannian-Residual-Neural-Networks","repo_kind":"listed","path":"rresnet/nn/rresnet.py","file_url":"https://github.com/CUAI/Riemannian-Residual-Neural-Networks/blob/HEAD/rresnet/nn/rresnet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ad5e86be6eceda9f"}},{"code_sha256_prefix":"a54b5c1d419125ae","entry":"Sindiv","repo":"CUAI/Neural-Manifold-Ordinary-Differential-Equations","repo_kind":"listed","path":"flows/mcnf.py","file_url":"https://github.com/CUAI/Neural-Manifold-Ordinary-Differential-Equations/blob/HEAD/flows/mcnf.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a54b5c1d419125ae"}},{"code_sha256_prefix":"7361513d3e42f15f","entry":"TimeNetwork","repo":"CUAI/Neural-Manifold-Ordinary-Differential-Equations","repo_kind":"listed","path":"flows/mcnf.py","file_url":"https://github.com/CUAI/Neural-Manifold-Ordinary-Differential-Equations/blob/HEAD/flows/mcnf.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7361513d3e42f15f"}},{"code_sha256_prefix":"65cc7239cc9f92b5","entry":"_flip","repo":"CUAI/Neural-Manifold-Ordinary-Differential-Equations","repo_kind":"listed","path":"flows/mcnf.py","file_url":"https://github.com/CUAI/Neural-Manifold-Ordinary-Differential-Equations/blob/HEAD/flows/mcnf.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"65cc7239cc9f92b5"}},{"code_sha256_prefix":"cb7ed2be44a66fd8","entry":"create_network","repo":"CUAI/Neural-Manifold-Ordinary-Differential-Equations","repo_kind":"listed","path":"flows/mcnf.py","file_url":"https://github.com/CUAI/Neural-Manifold-Ordinary-Differential-Equations/blob/HEAD/flows/mcnf.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cb7ed2be44a66fd8"}},{"code_sha256_prefix":"b03151f58b6fe757","entry":"divergence_bf","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"b03151f58b6fe757"}},{"code_sha256_prefix":"e9ff34a23a41e2bd","entry":"AmbientProjNN","repo":"CUAI/Neural-Manifold-Ordinary-Differential-Equations","repo_kind":"listed","path":"flows/mcnf.py","file_url":"https://github.com/CUAI/Neural-Manifold-Ordinary-Differential-Equations/blob/HEAD/flows/mcnf.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":"e9ff34a23a41e2bd"}},{"code_sha256_prefix":"eb9a2e2ebe3285f8","entry":"Manifold","repo":"CUAI/Neural-Manifold-Ordinary-Differential-Equations","repo_kind":"listed","path":"flows/mcnf.py","file_url":"https://github.com/CUAI/Neural-Manifold-Ordinary-Differential-Equations/blob/HEAD/flows/mcnf.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":"eb9a2e2ebe3285f8"}},{"code_sha256_prefix":"7f49be70ad0f4825","entry":"MultiInputSequential","repo":"CUAI/Neural-Manifold-Ordinary-Differential-Equations","repo_kind":"listed","path":"flows/mcnf.py","file_url":"https://github.com/CUAI/Neural-Manifold-Ordinary-Differential-Equations/blob/HEAD/flows/mcnf.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":"7f49be70ad0f4825"}},{"code_sha256_prefix":"4dfaabe17684d40e","entry":"SCNF","repo":"CUAI/Neural-Manifold-Ordinary-Differential-Equations","repo_kind":"listed","path":"flows/mcnf.py","file_url":"https://github.com/CUAI/Neural-Manifold-Ordinary-Differential-Equations/blob/HEAD/flows/mcnf.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":"4dfaabe17684d40e"}},{"code_sha256_prefix":"b190be4cf70e3b3c","entry":"Sphere","repo":"CUAI/Neural-Manifold-Ordinary-Differential-Equations","repo_kind":"listed","path":"flows/mcnf.py","file_url":"https://github.com/CUAI/Neural-Manifold-Ordinary-Differential-Equations/blob/HEAD/flows/mcnf.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":"b190be4cf70e3b3c"}},{"code_sha256_prefix":"2a06be017269fb49","entry":"SphereProj","repo":"CUAI/Neural-Manifold-Ordinary-Differential-Equations","repo_kind":"listed","path":"flows/mcnf.py","file_url":"https://github.com/CUAI/Neural-Manifold-Ordinary-Differential-Equations/blob/HEAD/flows/mcnf.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":"2a06be017269fb49"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}