{"id":19555695,"url":"https://github.com/szymonrucinski/graph-convolutional-networks","last_synced_at":"2026-06-19T10:31:24.019Z","repository":{"id":124111843,"uuid":"376389063","full_name":"szymonrucinski/graph-convolutional-networks","owner":"szymonrucinski","description":"Train your own GCN model using the latest pytorch-geometric 📉  to solve image classification problem 🧠","archived":false,"fork":false,"pushed_at":"2022-06-30T18:01:34.000Z","size":1102,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-26T07:43:04.012Z","etag":null,"topics":["graph-convolutional-networks","network","pytorch-geometric","pytrorch"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","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/szymonrucinski.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-12T21:47:29.000Z","updated_at":"2023-02-07T00:36:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"da5836cd-23af-4801-8806-f026edb27535","html_url":"https://github.com/szymonrucinski/graph-convolutional-networks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/szymonrucinski/graph-convolutional-networks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szymonrucinski%2Fgraph-convolutional-networks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szymonrucinski%2Fgraph-convolutional-networks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szymonrucinski%2Fgraph-convolutional-networks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szymonrucinski%2Fgraph-convolutional-networks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/szymonrucinski","download_url":"https://codeload.github.com/szymonrucinski/graph-convolutional-networks/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szymonrucinski%2Fgraph-convolutional-networks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34528134,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-convolutional-networks","network","pytorch-geometric","pytrorch"],"created_at":"2024-11-11T04:35:21.684Z","updated_at":"2026-06-19T10:31:24.001Z","avatar_url":"https://github.com/szymonrucinski.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿Spline graph networks\r\n\r\nAll experiments performed on a computer with the following configuration.\r\n\r\n\r\n|CPU|GPU|RAM|\r\n| :-: | :-: | :-: |\r\n|AMD Ryzen 5 2600|GTX 1660 Super OC 6Gb|32 Gb DDR4|\r\n## Category 1 experiment\r\nThe task is to prepare a program and conduct an experiment to test the effectiveness of a selected graph neural network model in an inductive approach using the graph equivalent of the MNIST set.\r\n## Experiment 1.1\r\n\r\n\r\n|Network architecture|\r\n| :- |\r\n|\u003cp\u003eNet(\u003c/p\u003e\u003cp\u003e`  `(conv1): SplineConv(1, 32, dim=2)\u003c/p\u003e\u003cp\u003e`  `(conv2): SplineConv(32, 64, dim=2)\u003c/p\u003e\u003cp\u003e`  `(fc1): Linear(in\\_features=64, out\\_features=128, bias=True)\u003c/p\u003e\u003cp\u003e`    `(fc2): Linear(in\\_features=128, out\\_features=10, bias=True)\u003c/p\u003e\u003cp\u003e)\u003c/p\u003e|\r\n|Optimizer|Learning rate|Number of epochs|Patience|Objective function|Learning Time|\r\n|Adam|0.01|50|10|Cross-entropy|68 minutes|\r\n\r\n![](images/images/Aspose.Words.8defa0a5-3800-4dad-b7c5-de76fa555a1b.003.png)\r\n\r\nGraph 1.1 - Visualization of the analyzed graph and image from the MNIST set.\r\n\r\n\r\n\r\n![](images/Aspose.Words.8defa0a5-3800-4dad-b7c5-de76fa555a1b.004.png)![](images/Aspose.Words.8defa0a5-3800-4dad-b7c5-de76fa555a1b.005.png)\r\n\r\nFigure 1.2 - Percentage effectiveness for the training set\r\n\r\nGraph 1.3 - Graph showing changes in error (objective function) during learning\r\n\r\nThe final accuracy achieved for the test set is **94.2%**. \r\n## Experiment 1.2 \r\n\r\n\r\n|Network architecture|\r\n| :- |\r\n|\u003cp\u003eGCN2(\u003c/p\u003e\u003cp\u003e`  `(conv1): SplineConv(1, 64, dim=2)\u003c/p\u003e\u003cp\u003e`  `(conv2): SplineConv(64, 128, dim=2)\u003c/p\u003e\u003cp\u003e`  `(fc1): Linear(in\\_features=128, out\\_features=256, bias=True)\u003c/p\u003e\u003cp\u003e`  `(fc2): Linear(in\\_features=256, out\\_features=10, bias=True)\u003c/p\u003e\u003cp\u003e) \u003c/p\u003e|\r\n|Optimizer|Learning rate|Number of epochs|Patience|Objective function|Learning Time|\r\n|Adam|0.01|50|10|Cross-entropy|70 minutes|\r\n\r\n\r\n![](images/Aspose.Words.8defa0a5-3800-4dad-b7c5-de76fa555a1b.006.png)![](images/Aspose.Words.8defa0a5-3800-4dad-b7c5-de76fa555a1b.007.png)\r\n\r\nFigure 1.4 - Percentage effectiveness for the training set\r\n\r\nGraph 1.5 - Graph showing changes in error (objective function) during learning\r\n\r\n\r\nThe final accuracy achieved for the test set is **94.6%**. \r\n\r\nReference results of obtained % classification error for a given set published in the literature for other network architectures:\r\n\r\n\r\n|GCGP|PNCNN|Dynamic Reduction Network|\r\n| :- | :- | :- |\r\n|4.2|1.24|0.95|\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n## Category 2 experiment\r\nThe task is to prepare a program and conduct an experiment to test the effectiveness of the selected graph neural network model in the transduction case approach using an example from one of the elements in the Planetoid set.\r\n##\r\n## Experiment 2.1\r\n\r\n\r\n|Network architecture|\r\n| :- |\r\n|\u003cp\u003eGCN(\u003c/p\u003e\u003cp\u003e`  `(conv1): GCNConv(1433, 32)\u003c/p\u003e\u003cp\u003e`  `(conv2): GCNConv(32, 7)\u003c/p\u003e\u003cp\u003e) \u003c/p\u003e|\r\n|Optimizer|Learning rate|Number of epochs|Objective function|Learning Time|\r\n|Adam|0.001|200|Cross-entropy|9.8s|\r\n\r\n\r\n\r\n![](images/Aspose.Words.8defa0a5-3800-4dad-b7c5-de76fa555a1b.008.png)\r\n\r\ngraphic 2.1 - Visualization of elements in a set\r\n\r\n![](images/Aspose.Words.8defa0a5-3800-4dad-b7c5-de76fa555a1b.009.png)![](images/Aspose.Words.8defa0a5-3800-4dad-b7c5-de76fa555a1b.010.png)\r\n\r\nGraph 2.2 - Percentage performance for the training set\r\n\r\nGraph 2.3 - Graph showing changes in error (objective function) during learning\r\n\r\nThe final accuracy achieved is 78.9%.\r\n## Experiment 2.2 \r\n\r\n|Network architecture|\r\n| :- |\r\n|\u003cp\u003eGCN(\u003c/p\u003e\u003cp\u003e`  `(conv1): GCNConv(1433, 512)\u003c/p\u003e\u003cp\u003e`  `(conv2): GCNConv(512, 7)\u003c/p\u003e\u003cp\u003e) \u003c/p\u003e|\r\n|Optimizer|Learning rate|Number of epochs|Objective function|Learning Time|\r\n|Adam|0.001|200|Cross-entropy|7.5s|\r\n\r\n![](images/Aspose.Words.8defa0a5-3800-4dad-b7c5-de76fa555a1b.009.png)![](Aspose.Words.8defa0a5-3800-4dad-b7c5-de76fa555a1b.010.png)\r\n\r\nFigure 2.4 - Percentage effectiveness for the training set\r\n\r\nGraph 2.5 - Graph showing changes in error (objective function) during learning\r\n\r\nThe final accuracy achieved is **79.6%**.\r\n\r\nReference % accuracy results obtained for a given set published in the literature for other network architectures:\r\n\r\n|GAT|SPLINECNN|SSP|\r\n| :- | :- | :- |\r\n|83,00 %|89,48 %|90,160% |\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszymonrucinski%2Fgraph-convolutional-networks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fszymonrucinski%2Fgraph-convolutional-networks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszymonrucinski%2Fgraph-convolutional-networks/lists"}