{"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/setvae-learning-hierarchical-composition-for","title":"SetVAE: Learning Hierarchical Composition for Generative Modeling of Set-Structured Data","arxiv_id":"2103.15619","date":"2021-03-29","proceeding":"CVPR 2021 1","authors":["Jinwoo Kim","Jaehoon Yoo","Juho Lee","Seunghoon Hong"],"abstract":"Generative modeling of set-structured data, such as point clouds, requires reasoning over local and global structures at various scales. However, adopting multi-scale frameworks for ordinary sequential data to a set-structured data is nontrivial as it should be invariant to the permutation of its elements. In this paper, we propose SetVAE, a hierarchical variational autoencoder for sets. Motivated by recent progress in set encoding, we build SetVAE upon attentive modules that first partition the set and project the partition back to the original cardinality. Exploiting this module, our hierarchical VAE learns latent variables at multiple scales, capturing coarse-to-fine dependency of the set elements while achieving permutation invariance. We evaluate our model on point cloud generation task and achieve competitive performance to the prior arts with substantially smaller model capacity. We qualitatively demonstrate that our model generalizes to unseen set sizes and learns interesting subset relations without supervision. Our implementation is available at https://github.com/jw9730/setvae.","url_abs":"https://arxiv.org/abs/2103.15619v1","url_pdf":"https://arxiv.org/pdf/2103.15619v1.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":"setvae-learning-hierarchical-composition-for","repo_url":"https://github.com/jw9730/setvae","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"setvae-learning-hierarchical-composition-for","repo_url":"https://github.com/jw9730/jw9730.github.io","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}}],"tasks":[{"task_slug":"point-cloud-generation","task_name":"Point Cloud Generation"}],"methods":[{"method_slug":"attention","method_name":"Attention"},{"method_slug":"hierarchical-vae","method_name":"Hierarchical VAE"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"set-transformer","method_name":"Set Transformer"},{"method_slug":"softmax","method_name":"Softmax"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/point-cloud-generation-on-shapenet-airplane","task":"Point Cloud Generation","dataset":"ShapeNet Airplane","model":"SetVAE","rank_in_archive_order":4,"of":5,"metrics":{"1-NNA-CD":"75.31","MMD-CD":"0.199"},"uses_additional_data":false},{"leaderboard":"/sota/point-cloud-generation-on-shapenet-car","task":"Point Cloud Generation","dataset":"ShapeNet Car","model":"SetVAE","rank_in_archive_order":3,"of":5,"metrics":{"1-NNA-CD":"59.66","MMD-CD":"0.88"},"uses_additional_data":false},{"leaderboard":"/sota/point-cloud-generation-on-shapenet-chair","task":"Point Cloud Generation","dataset":"ShapeNet Chair","model":"SetVAE","rank_in_archive_order":3,"of":5,"metrics":{"1-NNA-CD":"58.76","MMD-CD":"2.55"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2103.15619","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2103.15619"}},"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/jw9730/setvae","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jw9730/jw9730.github.io","reach":{"status":"ok"}}],"summary":{"ran":7,"ran_draft_wrong":7,"ran_fixture":1,"ran_honours":2,"unverified":10},"by_repo_kind":{"official":{"samples":27,"ran":17,"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":"6787a72363072514","entry":"ChamferCriterion","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"6787a72363072514"}},{"code_sha256_prefix":"2dbcaf1aa112361e","entry":"CombinedCriterion","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"2dbcaf1aa112361e"}},{"code_sha256_prefix":"bed8a7b03b512335","entry":"EMDCriterion","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"bed8a7b03b512335"}},{"code_sha256_prefix":"ec91f5dff2cfdd95","entry":"InitialSet","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"ec91f5dff2cfdd95"}},{"code_sha256_prefix":"56ed680b39cc62e1","entry":"MLP","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"56ed680b39cc62e1"}},{"code_sha256_prefix":"6ccac28dde2e0594","entry":"MaskedBatchNorm1d","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"6ccac28dde2e0594"}},{"code_sha256_prefix":"d36dbf566a4f76e4","entry":"ResidualAttention","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"d36dbf566a4f76e4"}},{"code_sha256_prefix":"c4401e3045759b3c","entry":"_chamfer_loss_v1","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c4401e3045759b3c"}},{"code_sha256_prefix":"42c489cac0ddf783","entry":"chamfer_loss","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"DEP_MISSING","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"42c489cac0ddf783"}},{"code_sha256_prefix":"46b4d8dba0db14c3","entry":"cube_to_sphere","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"46b4d8dba0db14c3"}},{"code_sha256_prefix":"4e612cecc9647edc","entry":"get_mask","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4e612cecc9647edc"}},{"code_sha256_prefix":"f5ca3e9834167675","entry":"get_module","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f5ca3e9834167675"}},{"code_sha256_prefix":"325df0adea9a09ec","entry":"get_pairwise_distance","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"325df0adea9a09ec"}},{"code_sha256_prefix":"0c55dfd2474acb2e","entry":"int_sin_m","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0c55dfd2474acb2e"}},{"code_sha256_prefix":"6269a6d083ef6af9","entry":"inverse_increasing","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6269a6d083ef6af9"}},{"code_sha256_prefix":"1d25c9b2a1df8aa1","entry":"masked_fill","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1d25c9b2a1df8aa1"}},{"code_sha256_prefix":"f3ac4b1a18df2e8f","entry":"sample_mask","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f3ac4b1a18df2e8f"}},{"code_sha256_prefix":"e76e125691f86272","entry":"AttentiveBlock","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"e76e125691f86272"}},{"code_sha256_prefix":"87658bdfa597bd52","entry":"DecoderBlock","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"87658bdfa597bd52"}},{"code_sha256_prefix":"508dac2dcd3acee5","entry":"DeterministicNetwork","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"508dac2dcd3acee5"}},{"code_sha256_prefix":"3b42633e7587c43c","entry":"ElementwiseMLP","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"3b42633e7587c43c"}},{"code_sha256_prefix":"6d5bb50995b393f2","entry":"EncoderBlock","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"6d5bb50995b393f2"}},{"code_sha256_prefix":"380e877aad19e438","entry":"ISAB","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"380e877aad19e438"}},{"code_sha256_prefix":"0c00bb082460dcd5","entry":"InducedNetwork","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"0c00bb082460dcd5"}},{"code_sha256_prefix":"195dea2fed61451a","entry":"SetVAE","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"195dea2fed61451a"}},{"code_sha256_prefix":"06bb79fd238d6e69","entry":"emd_loss","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"06bb79fd238d6e69"}},{"code_sha256_prefix":"d226bf1b07b03f2e","entry":"sphere_lattice","repo":"jw9730/setvae","repo_kind":"official","path":"models/networks.py","file_url":"https://github.com/jw9730/setvae/blob/HEAD/models/networks.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":"d226bf1b07b03f2e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}