{"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/deepgcns-making-gcns-go-as-deep-as-cnns","title":"DeepGCNs: Making GCNs Go as Deep as CNNs","arxiv_id":"1910.06849","date":"2019-10-15","proceeding":null,"authors":["Guohao Li","Matthias Müller","Guocheng Qian","Itzel C. Delgadillo","Abdulellah Abualshour","Ali Thabet","Bernard Ghanem"],"abstract":"Convolutional Neural Networks (CNNs) have been very successful at solving a variety of computer vision tasks such as object classification and detection, semantic segmentation, activity understanding, to name just a few. One key enabling factor for their great performance has been the ability to train very deep networks. Despite their huge success in many tasks, CNNs do not work well with non-Euclidean data, which is prevalent in many real-world applications. Graph Convolutional Networks (GCNs) offer an alternative that allows for non-Eucledian data input to a neural network. While GCNs already achieve encouraging results, they are currently limited to architectures with a relatively small number of layers, primarily due to vanishing gradients during training. This work transfers concepts such as residual/dense connections and dilated convolutions from CNNs to GCNs in order to successfully train very deep GCNs. We show the benefit of using deep GCNs (with as many as 112 layers) experimentally across various datasets and tasks. Specifically, we achieve very promising performance in part segmentation and semantic segmentation on point clouds and in node classification of protein functions across biological protein-protein interaction (PPI) graphs. We believe that the insights in this work will open avenues for future research on GCNs and their application to further tasks not explored in this paper. The source code for this work is available at https://github.com/lightaime/deep_gcns_torch and https://github.com/lightaime/deep_gcns for PyTorch and TensorFlow implementation respectively.","url_abs":"https://arxiv.org/abs/1910.06849v3","url_pdf":"https://arxiv.org/pdf/1910.06849v3.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":"deepgcns-making-gcns-go-as-deep-as-cnns","repo_url":"https://github.com/lightaime/deep_gcns_torch","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"deepgcns-making-gcns-go-as-deep-as-cnns","repo_url":"https://github.com/lightaime/deep_gcns","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"deepgcns-making-gcns-go-as-deep-as-cnns","repo_url":"https://github.com/lightaime/deep_gcns_torch/tree/master/examples/ogb","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"deepgcns-making-gcns-go-as-deep-as-cnns","repo_url":"https://github.com/lightaime/deep_gcns_torch/tree/master/examples/ogb_eff/ogbn_arxiv_dgl","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"3d-point-cloud-classification","task_name":"3D Point Cloud Classification"},{"task_slug":"3d-semantic-segmentation","task_name":"3D Semantic Segmentation"},{"task_slug":"node-classification","task_name":"Node Classification"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"}],"methods":[{"method_slug":"graph-convolutional-networks","method_name":"Graph Convolutional Networks"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-point-cloud-classification-on-modelnet40","task":"3D Point Cloud Classification","dataset":"ModelNet40","model":"DeepGCN","rank_in_archive_order":53,"of":111,"metrics":{"Mean Accuracy":"90.9","Number of params":"2.2M","Overall Accuracy":"93.6"},"uses_additional_data":false},{"leaderboard":"/sota/3d-semantic-segmentation-on-partnet","task":"3D Semantic Segmentation","dataset":"PartNet","model":"DeepGCN","rank_in_archive_order":5,"of":6,"metrics":{"mIOU":"45.1"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-ppi","task":"Node Classification","dataset":"PPI","model":"DenseMRGCN-14","rank_in_archive_order":5,"of":24,"metrics":{"F1":"99.43"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-ppi","task":"Node Classification","dataset":"PPI","model":"ResMRGCN-28","rank_in_archive_order":6,"of":24,"metrics":{"F1":"99.41"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-segmentation-on-s3dis","task":"Semantic Segmentation","dataset":"S3DIS","model":"DeepGCN","rank_in_archive_order":44,"of":54,"metrics":{"Mean IoU":"60.0","Number of params":"N/A","oAcc":"85.9"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-segmentation-on-s3dis-area5","task":"Semantic Segmentation","dataset":"S3DIS Area5","model":"DeepGCN","rank_in_archive_order":54,"of":61,"metrics":{"Number of params":"N/A","mIoU":"52.49"},"uses_additional_data":false}],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1910.06849","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1910.06849"}},"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/lightaime/deep_gcns_torch/tree/master/examples/ogb_eff/ogbn_arxiv_dgl","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lightaime/deep_gcns","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lightaime/deep_gcns_torch/tree/master/examples/ogb","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lightaime/deep_gcns_torch","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"unverified":8},"by_repo_kind":{"official":{"samples":8,"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":1,"samples":[{"code_sha256_prefix":"7ffd07876c29c19b","entry":"get_sampling_command","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":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"7ffd07876c29c19b"}},{"code_sha256_prefix":"b7d5e1baa849c768","entry":"dilated","repo":"lightaime/deep_gcns","repo_kind":"official","path":"gcn_lib/tf_edge.py","file_url":"https://github.com/lightaime/deep_gcns/blob/HEAD/gcn_lib/tf_edge.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":"b7d5e1baa849c768"}},{"code_sha256_prefix":"a413566796454bf7","entry":"get_max_relat_feature","repo":"lightaime/deep_gcns","repo_kind":"official","path":"gcn_lib/tf_vertex.py","file_url":"https://github.com/lightaime/deep_gcns/blob/HEAD/gcn_lib/tf_vertex.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":"a413566796454bf7"}},{"code_sha256_prefix":"b2906f9680613942","entry":"get_points_colors_from_obj","repo":"lightaime/deep_gcns","repo_kind":"official","path":"sem_seg/viz.py","file_url":"https://github.com/lightaime/deep_gcns/blob/HEAD/sem_seg/viz.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":"b2906f9680613942"}},{"code_sha256_prefix":"5c13eeaa975af521","entry":"max_relat_conv_layer","repo":"lightaime/deep_gcns","repo_kind":"official","path":"gcn_lib/tf_vertex.py","file_url":"https://github.com/lightaime/deep_gcns/blob/HEAD/gcn_lib/tf_vertex.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":"5c13eeaa975af521"}},{"code_sha256_prefix":"69af01e7fe976f9b","entry":"room2blocks","repo":"lightaime/deep_gcns","repo_kind":"official","path":"sem_seg/indoor3d_util.py","file_url":"https://github.com/lightaime/deep_gcns/blob/HEAD/sem_seg/indoor3d_util.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":"69af01e7fe976f9b"}},{"code_sha256_prefix":"5b5f8b1b747b7afa","entry":"sample_data","repo":"lightaime/deep_gcns","repo_kind":"official","path":"sem_seg/indoor3d_util.py","file_url":"https://github.com/lightaime/deep_gcns/blob/HEAD/sem_seg/indoor3d_util.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":"5b5f8b1b747b7afa"}},{"code_sha256_prefix":"8faf2ddce20e9709","entry":"sample_data_label","repo":"lightaime/deep_gcns","repo_kind":"official","path":"sem_seg/indoor3d_util.py","file_url":"https://github.com/lightaime/deep_gcns/blob/HEAD/sem_seg/indoor3d_util.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":"8faf2ddce20e9709"}},{"code_sha256_prefix":"1e0de6b9c650bc32","entry":"wrapped_partial","repo":"lightaime/deep_gcns","repo_kind":"official","path":"sem_seg/batch_inference.py","file_url":"https://github.com/lightaime/deep_gcns/blob/HEAD/sem_seg/batch_inference.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":"1e0de6b9c650bc32"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}