{"id":13481106,"url":"https://github.com/danielegrattarola/decimation-pooling","last_synced_at":"2025-09-26T13:31:34.367Z","repository":{"id":109827462,"uuid":"217393835","full_name":"danielegrattarola/decimation-pooling","owner":"danielegrattarola","description":"Code for \"Hierarchical Representation Learning in Graph Neural Networks with Node Decimation Pooling\" (TNNLS 2020).","archived":false,"fork":false,"pushed_at":"2020-12-09T17:14:19.000Z","size":21,"stargazers_count":23,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-31T00:41:13.477Z","etag":null,"topics":["graph-neural-networks","machine-learning","tensorflow"],"latest_commit_sha":null,"homepage":"https://arxiv.org/abs/1910.11436","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danielegrattarola.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-10-24T20:55:26.000Z","updated_at":"2025-02-01T19:17:07.000Z","dependencies_parsed_at":"2023-05-26T22:00:19.328Z","dependency_job_id":null,"html_url":"https://github.com/danielegrattarola/decimation-pooling","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielegrattarola%2Fdecimation-pooling","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielegrattarola%2Fdecimation-pooling/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielegrattarola%2Fdecimation-pooling/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielegrattarola%2Fdecimation-pooling/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielegrattarola","download_url":"https://codeload.github.com/danielegrattarola/decimation-pooling/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252591052,"owners_count":21773015,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["graph-neural-networks","machine-learning","tensorflow"],"created_at":"2024-07-31T17:00:48.738Z","updated_at":"2025-09-26T13:31:34.254Z","avatar_url":"https://github.com/danielegrattarola.png","language":"Python","funding_links":[],"categories":["Deep Learning"],"sub_categories":[],"readme":"# Hierarchical Representation Learning in Graph Neural Networks with Node Decimation Pooling\n\nThis is the official implementation of\n\n\u003e \"Hierarchical Representation Learning in Graph Neural Networks with Node Decimation Pooling\"  \n\u003e F. M. Bianchi, D. Grattarola, L. Livi, C. Alippi (2019)\n\nThis repo contains the necessary scripts and methods to run the graph classification experiments presented in the paper\nusing the proposed Node Decimation Pooling.\n\nIf you use any of this code for your own research, please cite the paper with:\n\n```\n@article{bianchi2018hierarchical,\n  title={Hierarchical Representation Learning in Graph Neural Networks with Node Decimation Pooling},\n  author={Bianchi, Filippo Maria and Grattarola, Daniele and Livi, Lorenzo and Alippi, Cesare},\n  journal={IEEE Transactions on Neural Networks and Learning Systems},\n  year={2020}\n}\n```\n\n## Setup\n\nThe code has the following dependencies:\n\n- Tensorflow \u003c 2.0.0\n- Keras \u003c= 2.2.5\n- Spektral == 0.1.2\n- Networkx == 2.4\n- Numpy\n- Scipy\n- Scikit-learn\n\nAll are available through the Python Package Index and can be installed with `pip`.\n\nBefore running the main script, download and extract in `data/classification` any of the datsets\navailable [here](https://ls11-www.cs.tu-dortmund.de/staff/morris/graphkerneldatasets), e.g.:\n\n```bash\n$ wget https://ls11-www.cs.tu-dortmund.de/people/morris/graphkerneldatasets/PROTEINS.zip -P data/classification\ncd data/classification\nunzip PROTEINS.zip\n``` \n\nMake sure to update the config dictionary at the beginning of the main script to match the dataset (e.g., `'PROTEINS'`).\n\n## Running\n\nTo run the experiment:\n\n```sh\npython GC_main.py\n```\n\nAn output folder will be automatically created with a logfile and the trained model's weights. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielegrattarola%2Fdecimation-pooling","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielegrattarola%2Fdecimation-pooling","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielegrattarola%2Fdecimation-pooling/lists"}