{"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/netgan-generating-graphs-via-random-walks","title":"NetGAN: Generating Graphs via Random Walks","arxiv_id":"1803.00816","date":"2018-03-02","proceeding":"ICML 2018 7","authors":["Aleksandar Bojchevski","Oleksandr Shchur","Daniel Zügner","Stephan Günnemann"],"abstract":"We propose NetGAN - the first implicit generative model for graphs able to\nmimic real-world networks. We pose the problem of graph generation as learning\nthe distribution of biased random walks over the input graph. The proposed\nmodel is based on a stochastic neural network that generates discrete output\nsamples and is trained using the Wasserstein GAN objective. NetGAN is able to\nproduce graphs that exhibit well-known network patterns without explicitly\nspecifying them in the model definition. At the same time, our model exhibits\nstrong generalization properties, as highlighted by its competitive link\nprediction performance, despite not being trained specifically for this task.\nBeing the first approach to combine both of these desirable properties, NetGAN\nopens exciting avenues for further research.","url_abs":"http://arxiv.org/abs/1803.00816v2","url_pdf":"http://arxiv.org/pdf/1803.00816v2.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":"netgan-generating-graphs-via-random-walks","repo_url":"https://github.com/danielzuegner/netgan","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"netgan-generating-graphs-via-random-walks","repo_url":"https://github.com/mmiller96/netgan_pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"graph-generation","task_name":"Graph Generation"},{"task_slug":"link-prediction","task_name":"Link Prediction"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1803.00816","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1803.00816"}},"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/mmiller96/netgan_pytorch","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/danielzuegner/netgan","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":6},"by_repo_kind":{"listed":{"samples":6,"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":"f0dc10a300cbac89","entry":"edges_to_sparse","repo":"danielzuegner/netgan","repo_kind":"listed","path":"netgan/utils.py","file_url":"https://github.com/danielzuegner/netgan/blob/HEAD/netgan/utils.py","link_basis":"harvester_set","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":"f0dc10a300cbac89"}},{"code_sha256_prefix":"e88d13c54d340cc0","entry":"gumbel_softmax_sample","repo":"danielzuegner/netgan","repo_kind":"listed","path":"netgan/netgan.py","file_url":"https://github.com/danielzuegner/netgan/blob/HEAD/netgan/netgan.py","link_basis":"harvester_set","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":"e88d13c54d340cc0"}},{"code_sha256_prefix":"134a930a34a58173","entry":"largest_connected_components","repo":"danielzuegner/netgan","repo_kind":"listed","path":"netgan/utils.py","file_url":"https://github.com/danielzuegner/netgan/blob/HEAD/netgan/utils.py","link_basis":"harvester_set","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":"134a930a34a58173"}},{"code_sha256_prefix":"a21cb3c39009ec5c","entry":"load_npz","repo":"danielzuegner/netgan","repo_kind":"listed","path":"netgan/utils.py","file_url":"https://github.com/danielzuegner/netgan/blob/HEAD/netgan/utils.py","link_basis":"harvester_set","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":"a21cb3c39009ec5c"}},{"code_sha256_prefix":"10237b0f4a86379d","entry":"make_noise","repo":"danielzuegner/netgan","repo_kind":"listed","path":"netgan/netgan.py","file_url":"https://github.com/danielzuegner/netgan/blob/HEAD/netgan/netgan.py","link_basis":"harvester_set","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":"10237b0f4a86379d"}},{"code_sha256_prefix":"6f813d47c4badfd6","entry":"sample_gumbel","repo":"danielzuegner/netgan","repo_kind":"listed","path":"netgan/netgan.py","file_url":"https://github.com/danielzuegner/netgan/blob/HEAD/netgan/netgan.py","link_basis":"harvester_set","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":"6f813d47c4badfd6"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}