{"id":19863721,"url":"https://github.com/sandialabs/pdonet","last_synced_at":"2026-03-19T12:04:19.332Z","repository":{"id":142395566,"uuid":"555553783","full_name":"sandialabs/PDONet","owner":"sandialabs","description":"Implementation and code to test the parameterized differential operator layer for \"Parameterized Pseudo-Differential Operators for Graph Convolutional Neural Networks\" GSP-CV 2021.","archived":false,"fork":false,"pushed_at":"2022-11-21T16:50:21.000Z","size":15,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-01T00:25:55.929Z","etag":null,"topics":["scr-2563","snl-data-analysis"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sandialabs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"Contributing.md","funding":null,"license":"LICENSE.md","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":"2022-10-21T20:18:41.000Z","updated_at":"2024-09-04T16:25:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"48e1a60c-fd0c-45ef-9af0-1ce56b23d2ad","html_url":"https://github.com/sandialabs/PDONet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sandialabs/PDONet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2FPDONet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2FPDONet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2FPDONet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2FPDONet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sandialabs","download_url":"https://codeload.github.com/sandialabs/PDONet/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2FPDONet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30102508,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T23:59:36.199Z","status":"ssl_error","status_checked_at":"2026-03-04T23:56:48.556Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["scr-2563","snl-data-analysis"],"created_at":"2024-11-12T15:15:51.206Z","updated_at":"2026-03-19T12:04:19.320Z","avatar_url":"https://github.com/sandialabs.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# PDONet: a graph convolutional layer based on differential operators implemented in PyTorch\nImplementation and code to test the parameterized differential operator layer\nfor \"Parameterized Pseudo-Differential Operators for Graph Convolutional Neural Networks\" GSP-CV 2021.\n\n## Installation\n\nSome modules are dependent on python3 and code is written to run on python3 (given the long install times of some of the modules, taking the time to make sure you're using python is worthwhile if installing in a virtual environment).\n\nTorch cluster/scatter expect certain packages to be available during install.\n\n    pip3 install -r prereqs.txt\n\nNote: Builds for torch-scatter and torch-sparse can be extremely slow.\n\n    pip3 install -r requirements.txt\n\n## Running\n\nDatasets should be download as needed for runs.  MNIST hierarchical, CIFAR10, and CIFAR100 will have an extra delay as superpixel datasets are built.  Unfortunately, using a pruned dataset will result in an additional download despite being the same raw data as the superpixel version (this can be avoided by manually copying the raw folder to the *-SP-Pruned directory).\n\nEach will train and validate against the test set and report the test accuracy for the best training epoch.\n\nRunning the superpixel classifier with the default configuration options:\n\n    python3 run_classifier.py\n\nRunning the FAUST node correspondence task with default configuration:\n\n    python3 run_faust.py\n\nTo override config options and/or load in additional configuration files:\n\n    python3 run_classifier.py with depth=3             # set the model to use 3 layers\n    python3 run_classifier.py with configs/cifar10.yml # override settings from a yml file\n\nTo run any of the classifiers with the hierarchical datasets, run a session such as:\n\n    python3 run_classifier.py with hierarchical=True                      # hierarchical with default dataset (MNIST)\n    python3 run_classifier.py with configs/cifar100.yml hierarchical=True # hierarchical with CIFAR100\n\nIn addition to the text output, full runs are logged to\n`output/file\\_observer/\u003crun id\u003e.`\n\n## Datasets\nAdditional override configuration files are provided for MNIST hierarchical, CIFAR10, and CIFAR100 under `configs/`.  All configuration files correspond to the optimal values used in the paper.\n\n## Configuration options\n\n##### note\nBlank by default.\nUse for experiment notes at run time.\n\n##### dataset\nMNIST by default.  Classifier only.\nOther options are CIFAR10 and CIFAR100.\n\n##### batch\\_size\nDefault 128.\n\n##### learning\\_rate\nDefault 0.0002.\n\n##### weight\\_decay\nDefault 0.0001.\n\n##### device\nDefault cuda.\nUse to specify a particular GPU to use on multigpu systems.\n\n##### epochs\nDefault 100.\n\n##### prune\\_edges\nDefault False.  Classifier only.\nWhether to reduce edges by replacing edge connections via Delauney triangulation.\n\n##### hierarchical\nDefault False.  Classifier only.\nWhether to include hierarchical graphs as described in Knyazev et al. 2019 https://arxiv.org/pdf/1907.09000.pdf.  Note: generating a CIFAR hierarchical graph is an order of magnitude slower than its superpixel counterpart.\n\n##### edge\\_dropout\nDefault 0.45.\nProbability of dropping edges on input graph.\n\nFollowing options are nested under model\\_options:\n\n##### depth\nDefault 7.\nNumber of convolutional/downsampling layers in model.\n\n##### dropout\\_rate\nDefault 0.5.\nDropout rate prior to fully connected layers.\n\n##### grid\\_scale\nDefault [0, 28].\nDescribes the relative scale of the node positions (assumes\nequal scale for x and y)\n\n##### initial\\_features\nDefault 128.\nNumber of channels to output after first layer.  Doubled every\nsubsequent layer up to...\n\n##### max\\_features\nDefault 512.\nHighest number of channels allowed.\n\n##### voxels\\_at\\_depth\nDefault 3.  Classifier only.\nAfter the downsampling layers, voxel grid should have an n x n\ngrid.  Voxels are halved in size each layer.\n\n## Citation\nPotter, Kevin et al. _Parameterized Pseudo-Differential Operators for Graph Convolutional Neural Networks_ GSP-CV 2021, Montreal, Canada, October 2021.\n\n## License\nRevised BSD.  See the LICENSE.txt file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandialabs%2Fpdonet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsandialabs%2Fpdonet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandialabs%2Fpdonet/lists"}