pyg-nightly 2.7.0.dev20250603__tar.gz → 2.7.0.dev20250605__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (646) hide show
  1. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/PKG-INFO +1 -1
  2. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/pyproject.toml +1 -1
  3. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/__init__.py +1 -1
  4. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/city.py +6 -5
  5. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/__init__.py +2 -0
  6. pyg_nightly-2.7.0.dev20250605/torch_geometric/nn/conv/meshcnn_conv.py +491 -0
  7. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/__init__.py +2 -0
  8. pyg_nightly-2.7.0.dev20250605/torch_geometric/utils/influence.py +279 -0
  9. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/LICENSE +0 -0
  10. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/README.md +0 -0
  11. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/_compile.py +0 -0
  12. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/_onnx.py +0 -0
  13. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/backend.py +0 -0
  14. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/config_mixin.py +0 -0
  15. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/config_store.py +0 -0
  16. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/contrib/__init__.py +0 -0
  17. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/contrib/datasets/__init__.py +0 -0
  18. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/contrib/explain/__init__.py +0 -0
  19. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/contrib/explain/pgm_explainer.py +0 -0
  20. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/contrib/nn/__init__.py +0 -0
  21. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/contrib/nn/conv/__init__.py +0 -0
  22. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/contrib/nn/models/__init__.py +0 -0
  23. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/contrib/nn/models/rbcd_attack.py +0 -0
  24. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/contrib/transforms/__init__.py +0 -0
  25. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/__init__.py +0 -0
  26. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/batch.py +0 -0
  27. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/collate.py +0 -0
  28. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/data.py +0 -0
  29. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/database.py +0 -0
  30. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/datapipes.py +0 -0
  31. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/dataset.py +0 -0
  32. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/download.py +0 -0
  33. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/extract.py +0 -0
  34. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/feature_store.py +0 -0
  35. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/graph_store.py +0 -0
  36. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/hetero_data.py +0 -0
  37. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/hypergraph_data.py +0 -0
  38. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/in_memory_dataset.py +0 -0
  39. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/large_graph_indexer.py +0 -0
  40. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/lightning/__init__.py +0 -0
  41. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/lightning/datamodule.py +0 -0
  42. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/makedirs.py +0 -0
  43. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/on_disk_dataset.py +0 -0
  44. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/remote_backend_utils.py +0 -0
  45. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/separate.py +0 -0
  46. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/storage.py +0 -0
  47. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/summary.py +0 -0
  48. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/temporal.py +0 -0
  49. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/data/view.py +0 -0
  50. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/__init__.py +0 -0
  51. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/actor.py +0 -0
  52. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/airfrans.py +0 -0
  53. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/airports.py +0 -0
  54. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/amazon.py +0 -0
  55. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/amazon_book.py +0 -0
  56. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/amazon_products.py +0 -0
  57. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/aminer.py +0 -0
  58. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/aqsol.py +0 -0
  59. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/attributed_graph_dataset.py +0 -0
  60. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/ba2motif_dataset.py +0 -0
  61. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/ba_multi_shapes.py +0 -0
  62. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/ba_shapes.py +0 -0
  63. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/bitcoin_otc.py +0 -0
  64. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/brca_tgca.py +0 -0
  65. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/citation_full.py +0 -0
  66. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/coauthor.py +0 -0
  67. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/coma.py +0 -0
  68. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/cornell.py +0 -0
  69. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/dblp.py +0 -0
  70. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/dbp15k.py +0 -0
  71. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/deezer_europe.py +0 -0
  72. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/dgraph.py +0 -0
  73. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/dynamic_faust.py +0 -0
  74. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/elliptic.py +0 -0
  75. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/elliptic_temporal.py +0 -0
  76. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/email_eu_core.py +0 -0
  77. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/entities.py +0 -0
  78. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/explainer_dataset.py +0 -0
  79. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/facebook.py +0 -0
  80. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/fake.py +0 -0
  81. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/faust.py +0 -0
  82. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/flickr.py +0 -0
  83. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/freebase.py +0 -0
  84. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/gdelt.py +0 -0
  85. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/gdelt_lite.py +0 -0
  86. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/ged_dataset.py +0 -0
  87. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/gemsec.py +0 -0
  88. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/geometry.py +0 -0
  89. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/git_mol_dataset.py +0 -0
  90. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/github.py +0 -0
  91. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/gnn_benchmark_dataset.py +0 -0
  92. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/graph_generator/__init__.py +0 -0
  93. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/graph_generator/ba_graph.py +0 -0
  94. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/graph_generator/base.py +0 -0
  95. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/graph_generator/er_graph.py +0 -0
  96. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/graph_generator/grid_graph.py +0 -0
  97. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/graph_generator/tree_graph.py +0 -0
  98. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/heterophilous_graph_dataset.py +0 -0
  99. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/hgb_dataset.py +0 -0
  100. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/hm.py +0 -0
  101. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/hydro_net.py +0 -0
  102. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/icews.py +0 -0
  103. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/igmc_dataset.py +0 -0
  104. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/imdb.py +0 -0
  105. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/infection_dataset.py +0 -0
  106. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/instruct_mol_dataset.py +0 -0
  107. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/jodie.py +0 -0
  108. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/karate.py +0 -0
  109. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/last_fm.py +0 -0
  110. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/lastfm_asia.py +0 -0
  111. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/linkx_dataset.py +0 -0
  112. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/lrgb.py +0 -0
  113. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/malnet_tiny.py +0 -0
  114. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/md17.py +0 -0
  115. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/medshapenet.py +0 -0
  116. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/mixhop_synthetic_dataset.py +0 -0
  117. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/mnist_superpixels.py +0 -0
  118. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/modelnet.py +0 -0
  119. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/molecule_gpt_dataset.py +0 -0
  120. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/molecule_net.py +0 -0
  121. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/motif_generator/__init__.py +0 -0
  122. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/motif_generator/base.py +0 -0
  123. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/motif_generator/custom.py +0 -0
  124. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/motif_generator/cycle.py +0 -0
  125. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/motif_generator/grid.py +0 -0
  126. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/motif_generator/house.py +0 -0
  127. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/movie_lens.py +0 -0
  128. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/movie_lens_100k.py +0 -0
  129. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/movie_lens_1m.py +0 -0
  130. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/myket.py +0 -0
  131. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/nell.py +0 -0
  132. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/neurograph.py +0 -0
  133. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/ogb_mag.py +0 -0
  134. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/omdb.py +0 -0
  135. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/opf.py +0 -0
  136. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/ose_gvcs.py +0 -0
  137. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/particle.py +0 -0
  138. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/pascal.py +0 -0
  139. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/pascal_pf.py +0 -0
  140. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/pcpnet_dataset.py +0 -0
  141. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/pcqm4m.py +0 -0
  142. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/planetoid.py +0 -0
  143. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/polblogs.py +0 -0
  144. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/ppi.py +0 -0
  145. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/qm7.py +0 -0
  146. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/qm9.py +0 -0
  147. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/rcdd.py +0 -0
  148. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/reddit.py +0 -0
  149. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/reddit2.py +0 -0
  150. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/rel_link_pred_dataset.py +0 -0
  151. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/s3dis.py +0 -0
  152. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/sbm_dataset.py +0 -0
  153. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/shapenet.py +0 -0
  154. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/shrec2016.py +0 -0
  155. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/snap_dataset.py +0 -0
  156. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/suite_sparse.py +0 -0
  157. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/tag_dataset.py +0 -0
  158. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/taobao.py +0 -0
  159. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/tosca.py +0 -0
  160. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/tu_dataset.py +0 -0
  161. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/twitch.py +0 -0
  162. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/upfd.py +0 -0
  163. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/utils/__init__.py +0 -0
  164. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/utils/cheatsheet.py +0 -0
  165. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/web_qsp_dataset.py +0 -0
  166. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/webkb.py +0 -0
  167. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/wikics.py +0 -0
  168. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/wikidata.py +0 -0
  169. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/wikipedia_network.py +0 -0
  170. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/willow_object_class.py +0 -0
  171. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/word_net.py +0 -0
  172. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/yelp.py +0 -0
  173. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/datasets/zinc.py +0 -0
  174. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/debug.py +0 -0
  175. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/deprecation.py +0 -0
  176. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/device.py +0 -0
  177. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/distributed/__init__.py +0 -0
  178. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/distributed/dist_context.py +0 -0
  179. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/distributed/dist_link_neighbor_loader.py +0 -0
  180. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/distributed/dist_loader.py +0 -0
  181. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/distributed/dist_neighbor_loader.py +0 -0
  182. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/distributed/dist_neighbor_sampler.py +0 -0
  183. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/distributed/event_loop.py +0 -0
  184. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/distributed/local_feature_store.py +0 -0
  185. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/distributed/local_graph_store.py +0 -0
  186. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/distributed/partition.py +0 -0
  187. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/distributed/rpc.py +0 -0
  188. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/distributed/utils.py +0 -0
  189. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/edge_index.py +0 -0
  190. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/experimental.py +0 -0
  191. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/explain/__init__.py +0 -0
  192. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/explain/algorithm/__init__.py +0 -0
  193. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/explain/algorithm/attention_explainer.py +0 -0
  194. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/explain/algorithm/base.py +0 -0
  195. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/explain/algorithm/captum.py +0 -0
  196. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/explain/algorithm/captum_explainer.py +0 -0
  197. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/explain/algorithm/dummy_explainer.py +0 -0
  198. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/explain/algorithm/gnn_explainer.py +0 -0
  199. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/explain/algorithm/graphmask_explainer.py +0 -0
  200. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/explain/algorithm/pg_explainer.py +0 -0
  201. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/explain/algorithm/utils.py +0 -0
  202. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/explain/config.py +0 -0
  203. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/explain/explainer.py +0 -0
  204. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/explain/explanation.py +0 -0
  205. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/explain/metric/__init__.py +0 -0
  206. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/explain/metric/basic.py +0 -0
  207. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/explain/metric/faithfulness.py +0 -0
  208. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/explain/metric/fidelity.py +0 -0
  209. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/__init__.py +0 -0
  210. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/benchmark.py +0 -0
  211. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/checkpoint.py +0 -0
  212. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/cmd_args.py +0 -0
  213. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/config.py +0 -0
  214. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/contrib/__init__.py +0 -0
  215. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/contrib/act/__init__.py +0 -0
  216. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/contrib/config/__init__.py +0 -0
  217. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/contrib/encoder/__init__.py +0 -0
  218. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/contrib/head/__init__.py +0 -0
  219. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/contrib/layer/__init__.py +0 -0
  220. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/contrib/layer/generalconv.py +0 -0
  221. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/contrib/loader/__init__.py +0 -0
  222. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/contrib/loss/__init__.py +0 -0
  223. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/contrib/network/__init__.py +0 -0
  224. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/contrib/optimizer/__init__.py +0 -0
  225. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/contrib/pooling/__init__.py +0 -0
  226. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/contrib/stage/__init__.py +0 -0
  227. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/contrib/train/__init__.py +0 -0
  228. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/contrib/transform/__init__.py +0 -0
  229. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/imports.py +0 -0
  230. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/init.py +0 -0
  231. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/loader.py +0 -0
  232. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/logger.py +0 -0
  233. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/loss.py +0 -0
  234. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/model_builder.py +0 -0
  235. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/models/__init__.py +0 -0
  236. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/models/act.py +0 -0
  237. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/models/encoder.py +0 -0
  238. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/models/gnn.py +0 -0
  239. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/models/head.py +0 -0
  240. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/models/layer.py +0 -0
  241. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/models/pooling.py +0 -0
  242. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/models/transform.py +0 -0
  243. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/optim.py +0 -0
  244. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/register.py +0 -0
  245. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/train.py +0 -0
  246. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/utils/LICENSE +0 -0
  247. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/utils/__init__.py +0 -0
  248. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/utils/agg_runs.py +0 -0
  249. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/utils/comp_budget.py +0 -0
  250. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/utils/device.py +0 -0
  251. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/utils/epoch.py +0 -0
  252. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/utils/io.py +0 -0
  253. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/utils/plot.py +0 -0
  254. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/graphgym/utils/tools.py +0 -0
  255. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/hash_tensor.py +0 -0
  256. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/home.py +0 -0
  257. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/index.py +0 -0
  258. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/inspector.py +0 -0
  259. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/io/__init__.py +0 -0
  260. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/io/fs.py +0 -0
  261. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/io/npz.py +0 -0
  262. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/io/obj.py +0 -0
  263. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/io/off.py +0 -0
  264. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/io/planetoid.py +0 -0
  265. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/io/ply.py +0 -0
  266. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/io/sdf.py +0 -0
  267. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/io/tu.py +0 -0
  268. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/io/txt_array.py +0 -0
  269. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/isinstance.py +0 -0
  270. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/lazy_loader.py +0 -0
  271. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/__init__.py +0 -0
  272. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/base.py +0 -0
  273. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/cache.py +0 -0
  274. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/cluster.py +0 -0
  275. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/data_list_loader.py +0 -0
  276. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/dataloader.py +0 -0
  277. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/dense_data_loader.py +0 -0
  278. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/dynamic_batch_sampler.py +0 -0
  279. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/graph_saint.py +0 -0
  280. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/hgt_loader.py +0 -0
  281. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/ibmb_loader.py +0 -0
  282. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/imbalanced_sampler.py +0 -0
  283. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/link_loader.py +0 -0
  284. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/link_neighbor_loader.py +0 -0
  285. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/mixin.py +0 -0
  286. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/neighbor_loader.py +0 -0
  287. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/neighbor_sampler.py +0 -0
  288. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/node_loader.py +0 -0
  289. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/prefetch.py +0 -0
  290. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/rag_loader.py +0 -0
  291. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/random_node_loader.py +0 -0
  292. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/shadow.py +0 -0
  293. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/temporal_dataloader.py +0 -0
  294. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/utils.py +0 -0
  295. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/loader/zip_loader.py +0 -0
  296. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/logging.py +0 -0
  297. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/metrics/__init__.py +0 -0
  298. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/metrics/link_pred.py +0 -0
  299. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/__init__.py +0 -0
  300. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/aggr/__init__.py +0 -0
  301. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/aggr/attention.py +0 -0
  302. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/aggr/base.py +0 -0
  303. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/aggr/basic.py +0 -0
  304. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/aggr/deep_sets.py +0 -0
  305. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/aggr/equilibrium.py +0 -0
  306. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/aggr/fused.py +0 -0
  307. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/aggr/gmt.py +0 -0
  308. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/aggr/gru.py +0 -0
  309. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/aggr/lcm.py +0 -0
  310. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/aggr/lstm.py +0 -0
  311. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/aggr/mlp.py +0 -0
  312. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/aggr/multi.py +0 -0
  313. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/aggr/patch_transformer.py +0 -0
  314. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/aggr/quantile.py +0 -0
  315. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/aggr/scaler.py +0 -0
  316. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/aggr/set2set.py +0 -0
  317. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/aggr/set_transformer.py +0 -0
  318. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/aggr/sort.py +0 -0
  319. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/aggr/utils.py +0 -0
  320. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/aggr/variance_preserving.py +0 -0
  321. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/attention/__init__.py +0 -0
  322. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/attention/performer.py +0 -0
  323. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/attention/qformer.py +0 -0
  324. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/attention/sgformer.py +0 -0
  325. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/agnn_conv.py +0 -0
  326. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/antisymmetric_conv.py +0 -0
  327. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/appnp.py +0 -0
  328. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/arma_conv.py +0 -0
  329. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/cg_conv.py +0 -0
  330. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/cheb_conv.py +0 -0
  331. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/cluster_gcn_conv.py +0 -0
  332. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/collect.jinja +0 -0
  333. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/cugraph/__init__.py +0 -0
  334. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/cugraph/base.py +0 -0
  335. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/cugraph/gat_conv.py +0 -0
  336. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/cugraph/rgcn_conv.py +0 -0
  337. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/cugraph/sage_conv.py +0 -0
  338. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/dir_gnn_conv.py +0 -0
  339. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/dna_conv.py +0 -0
  340. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/edge_conv.py +0 -0
  341. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/edge_updater.jinja +0 -0
  342. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/eg_conv.py +0 -0
  343. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/fa_conv.py +0 -0
  344. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/feast_conv.py +0 -0
  345. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/film_conv.py +0 -0
  346. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/fused_gat_conv.py +0 -0
  347. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/gat_conv.py +0 -0
  348. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/gated_graph_conv.py +0 -0
  349. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/gatv2_conv.py +0 -0
  350. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/gcn2_conv.py +0 -0
  351. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/gcn_conv.py +0 -0
  352. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/gen_conv.py +0 -0
  353. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/general_conv.py +0 -0
  354. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/gin_conv.py +0 -0
  355. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/gmm_conv.py +0 -0
  356. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/gps_conv.py +0 -0
  357. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/graph_conv.py +0 -0
  358. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/gravnet_conv.py +0 -0
  359. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/han_conv.py +0 -0
  360. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/heat_conv.py +0 -0
  361. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/hetero_conv.py +0 -0
  362. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/hgt_conv.py +0 -0
  363. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/hypergraph_conv.py +0 -0
  364. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/le_conv.py +0 -0
  365. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/lg_conv.py +0 -0
  366. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/message_passing.py +0 -0
  367. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/mf_conv.py +0 -0
  368. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/mixhop_conv.py +0 -0
  369. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/nn_conv.py +0 -0
  370. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/pan_conv.py +0 -0
  371. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/pdn_conv.py +0 -0
  372. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/pna_conv.py +0 -0
  373. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/point_conv.py +0 -0
  374. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/point_gnn_conv.py +0 -0
  375. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/point_transformer_conv.py +0 -0
  376. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/ppf_conv.py +0 -0
  377. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/propagate.jinja +0 -0
  378. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/res_gated_graph_conv.py +0 -0
  379. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/rgat_conv.py +0 -0
  380. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/rgcn_conv.py +0 -0
  381. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/sage_conv.py +0 -0
  382. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/sg_conv.py +0 -0
  383. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/signed_conv.py +0 -0
  384. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/simple_conv.py +0 -0
  385. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/spline_conv.py +0 -0
  386. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/ssg_conv.py +0 -0
  387. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/supergat_conv.py +0 -0
  388. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/tag_conv.py +0 -0
  389. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/transformer_conv.py +0 -0
  390. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/utils/__init__.py +0 -0
  391. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/utils/cheatsheet.py +0 -0
  392. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/wl_conv.py +0 -0
  393. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/wl_conv_continuous.py +0 -0
  394. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/conv/x_conv.py +0 -0
  395. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/data_parallel.py +0 -0
  396. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/dense/__init__.py +0 -0
  397. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/dense/dense_gat_conv.py +0 -0
  398. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/dense/dense_gcn_conv.py +0 -0
  399. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/dense/dense_gin_conv.py +0 -0
  400. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/dense/dense_graph_conv.py +0 -0
  401. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/dense/dense_sage_conv.py +0 -0
  402. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/dense/diff_pool.py +0 -0
  403. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/dense/dmon_pool.py +0 -0
  404. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/dense/linear.py +0 -0
  405. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/dense/mincut_pool.py +0 -0
  406. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/encoding.py +0 -0
  407. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/functional/__init__.py +0 -0
  408. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/functional/bro.py +0 -0
  409. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/functional/gini.py +0 -0
  410. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/fx.py +0 -0
  411. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/glob.py +0 -0
  412. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/inits.py +0 -0
  413. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/kge/__init__.py +0 -0
  414. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/kge/base.py +0 -0
  415. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/kge/complex.py +0 -0
  416. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/kge/distmult.py +0 -0
  417. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/kge/loader.py +0 -0
  418. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/kge/rotate.py +0 -0
  419. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/kge/transe.py +0 -0
  420. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/lr_scheduler.py +0 -0
  421. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/model_hub.py +0 -0
  422. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/__init__.py +0 -0
  423. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/attentive_fp.py +0 -0
  424. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/attract_repel.py +0 -0
  425. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/autoencoder.py +0 -0
  426. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/basic_gnn.py +0 -0
  427. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/captum.py +0 -0
  428. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/correct_and_smooth.py +0 -0
  429. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/deep_graph_infomax.py +0 -0
  430. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/deepgcn.py +0 -0
  431. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/dimenet.py +0 -0
  432. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/dimenet_utils.py +0 -0
  433. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/g_retriever.py +0 -0
  434. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/git_mol.py +0 -0
  435. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/glem.py +0 -0
  436. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/gnnff.py +0 -0
  437. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/gpse.py +0 -0
  438. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/graph_mixer.py +0 -0
  439. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/graph_unet.py +0 -0
  440. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/jumping_knowledge.py +0 -0
  441. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/label_prop.py +0 -0
  442. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/lightgcn.py +0 -0
  443. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/linkx.py +0 -0
  444. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/mask_label.py +0 -0
  445. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/meta.py +0 -0
  446. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/metapath2vec.py +0 -0
  447. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/mlp.py +0 -0
  448. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/molecule_gpt.py +0 -0
  449. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/neural_fingerprint.py +0 -0
  450. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/node2vec.py +0 -0
  451. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/pmlp.py +0 -0
  452. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/re_net.py +0 -0
  453. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/rect.py +0 -0
  454. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/rev_gnn.py +0 -0
  455. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/schnet.py +0 -0
  456. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/sgformer.py +0 -0
  457. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/signed_gcn.py +0 -0
  458. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/tgn.py +0 -0
  459. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/models/visnet.py +0 -0
  460. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/module_dict.py +0 -0
  461. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/nlp/__init__.py +0 -0
  462. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/nlp/llm.py +0 -0
  463. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/nlp/sentence_transformer.py +0 -0
  464. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/nlp/vision_transformer.py +0 -0
  465. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/norm/__init__.py +0 -0
  466. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/norm/batch_norm.py +0 -0
  467. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/norm/diff_group_norm.py +0 -0
  468. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/norm/graph_norm.py +0 -0
  469. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/norm/graph_size_norm.py +0 -0
  470. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/norm/instance_norm.py +0 -0
  471. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/norm/layer_norm.py +0 -0
  472. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/norm/mean_subtraction_norm.py +0 -0
  473. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/norm/msg_norm.py +0 -0
  474. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/norm/pair_norm.py +0 -0
  475. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/parameter_dict.py +0 -0
  476. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/__init__.py +0 -0
  477. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/approx_knn.py +0 -0
  478. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/asap.py +0 -0
  479. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/avg_pool.py +0 -0
  480. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/cluster_pool.py +0 -0
  481. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/connect/__init__.py +0 -0
  482. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/connect/base.py +0 -0
  483. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/connect/filter_edges.py +0 -0
  484. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/consecutive.py +0 -0
  485. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/decimation.py +0 -0
  486. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/edge_pool.py +0 -0
  487. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/glob.py +0 -0
  488. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/graclus.py +0 -0
  489. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/knn.py +0 -0
  490. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/max_pool.py +0 -0
  491. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/mem_pool.py +0 -0
  492. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/pan_pool.py +0 -0
  493. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/pool.py +0 -0
  494. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/sag_pool.py +0 -0
  495. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/select/__init__.py +0 -0
  496. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/select/base.py +0 -0
  497. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/select/topk.py +0 -0
  498. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/topk_pool.py +0 -0
  499. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/pool/voxel_grid.py +0 -0
  500. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/reshape.py +0 -0
  501. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/resolver.py +0 -0
  502. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/sequential.jinja +0 -0
  503. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/sequential.py +0 -0
  504. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/summary.py +0 -0
  505. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/to_fixed_size_transformer.py +0 -0
  506. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/to_hetero_module.py +0 -0
  507. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/to_hetero_transformer.py +0 -0
  508. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/to_hetero_with_bases_transformer.py +0 -0
  509. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/unpool/__init__.py +0 -0
  510. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/nn/unpool/knn_interpolate.py +0 -0
  511. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/profile/__init__.py +0 -0
  512. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/profile/benchmark.py +0 -0
  513. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/profile/nvtx.py +0 -0
  514. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/profile/profile.py +0 -0
  515. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/profile/profiler.py +0 -0
  516. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/profile/utils.py +0 -0
  517. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/resolver.py +0 -0
  518. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/sampler/__init__.py +0 -0
  519. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/sampler/base.py +0 -0
  520. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/sampler/hgt_sampler.py +0 -0
  521. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/sampler/neighbor_sampler.py +0 -0
  522. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/sampler/utils.py +0 -0
  523. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/seed.py +0 -0
  524. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/template.py +0 -0
  525. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/testing/__init__.py +0 -0
  526. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/testing/asserts.py +0 -0
  527. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/testing/data.py +0 -0
  528. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/testing/decorators.py +0 -0
  529. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/testing/distributed.py +0 -0
  530. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/testing/feature_store.py +0 -0
  531. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/testing/graph_store.py +0 -0
  532. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/__init__.py +0 -0
  533. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/add_gpse.py +0 -0
  534. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/add_metapaths.py +0 -0
  535. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/add_positional_encoding.py +0 -0
  536. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/add_remaining_self_loops.py +0 -0
  537. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/add_self_loops.py +0 -0
  538. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/base_transform.py +0 -0
  539. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/cartesian.py +0 -0
  540. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/center.py +0 -0
  541. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/compose.py +0 -0
  542. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/constant.py +0 -0
  543. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/delaunay.py +0 -0
  544. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/distance.py +0 -0
  545. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/face_to_edge.py +0 -0
  546. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/feature_propagation.py +0 -0
  547. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/fixed_points.py +0 -0
  548. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/gcn_norm.py +0 -0
  549. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/gdc.py +0 -0
  550. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/generate_mesh_normals.py +0 -0
  551. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/grid_sampling.py +0 -0
  552. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/half_hop.py +0 -0
  553. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/knn_graph.py +0 -0
  554. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/laplacian_lambda_max.py +0 -0
  555. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/largest_connected_components.py +0 -0
  556. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/line_graph.py +0 -0
  557. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/linear_transformation.py +0 -0
  558. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/local_cartesian.py +0 -0
  559. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/local_degree_profile.py +0 -0
  560. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/mask.py +0 -0
  561. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/node_property_split.py +0 -0
  562. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/normalize_features.py +0 -0
  563. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/normalize_rotation.py +0 -0
  564. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/normalize_scale.py +0 -0
  565. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/one_hot_degree.py +0 -0
  566. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/pad.py +0 -0
  567. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/point_pair_features.py +0 -0
  568. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/polar.py +0 -0
  569. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/radius_graph.py +0 -0
  570. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/random_flip.py +0 -0
  571. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/random_jitter.py +0 -0
  572. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/random_link_split.py +0 -0
  573. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/random_node_split.py +0 -0
  574. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/random_rotate.py +0 -0
  575. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/random_scale.py +0 -0
  576. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/random_shear.py +0 -0
  577. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/remove_duplicated_edges.py +0 -0
  578. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/remove_isolated_nodes.py +0 -0
  579. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/remove_self_loops.py +0 -0
  580. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/remove_training_classes.py +0 -0
  581. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/rooted_subgraph.py +0 -0
  582. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/sample_points.py +0 -0
  583. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/sign.py +0 -0
  584. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/spherical.py +0 -0
  585. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/svd_feature_reduction.py +0 -0
  586. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/target_indegree.py +0 -0
  587. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/to_dense.py +0 -0
  588. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/to_device.py +0 -0
  589. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/to_sparse_tensor.py +0 -0
  590. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/to_superpixels.py +0 -0
  591. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/to_undirected.py +0 -0
  592. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/two_hop.py +0 -0
  593. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/transforms/virtual_node.py +0 -0
  594. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/typing.py +0 -0
  595. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_assortativity.py +0 -0
  596. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_coalesce.py +0 -0
  597. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_degree.py +0 -0
  598. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_grid.py +0 -0
  599. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_homophily.py +0 -0
  600. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_index_sort.py +0 -0
  601. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_lexsort.py +0 -0
  602. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_negative_sampling.py +0 -0
  603. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_normalize_edge_index.py +0 -0
  604. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_normalized_cut.py +0 -0
  605. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_one_hot.py +0 -0
  606. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_scatter.py +0 -0
  607. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_segment.py +0 -0
  608. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_select.py +0 -0
  609. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_softmax.py +0 -0
  610. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_sort_edge_index.py +0 -0
  611. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_spmm.py +0 -0
  612. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_subgraph.py +0 -0
  613. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_to_dense_adj.py +0 -0
  614. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_to_dense_batch.py +0 -0
  615. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_train_test_split_edges.py +0 -0
  616. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_tree_decomposition.py +0 -0
  617. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_trim_to_layer.py +0 -0
  618. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/_unbatch.py +0 -0
  619. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/augmentation.py +0 -0
  620. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/convert.py +0 -0
  621. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/cross_entropy.py +0 -0
  622. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/dropout.py +0 -0
  623. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/embedding.py +0 -0
  624. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/functions.py +0 -0
  625. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/geodesic.py +0 -0
  626. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/hetero.py +0 -0
  627. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/isolated.py +0 -0
  628. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/laplacian.py +0 -0
  629. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/loop.py +0 -0
  630. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/map.py +0 -0
  631. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/mask.py +0 -0
  632. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/mesh_laplacian.py +0 -0
  633. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/mixin.py +0 -0
  634. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/nested.py +0 -0
  635. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/noise_scheduler.py +0 -0
  636. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/num_nodes.py +0 -0
  637. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/ppr.py +0 -0
  638. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/random.py +0 -0
  639. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/repeat.py +0 -0
  640. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/smiles.py +0 -0
  641. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/sparse.py +0 -0
  642. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/utils/undirected.py +0 -0
  643. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/visualization/__init__.py +0 -0
  644. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/visualization/graph.py +0 -0
  645. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/visualization/influence.py +0 -0
  646. {pyg_nightly-2.7.0.dev20250603 → pyg_nightly-2.7.0.dev20250605}/torch_geometric/warnings.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyg-nightly
3
- Version: 2.7.0.dev20250603
3
+ Version: 2.7.0.dev20250605
4
4
  Summary: Graph Neural Network Library for PyTorch
5
5
  Keywords: deep-learning,pytorch,geometric-deep-learning,graph-neural-networks,graph-convolutional-networks
6
6
  Author-email: Matthias Fey <matthias@pyg.org>
@@ -4,7 +4,7 @@ build-backend="flit_core.buildapi"
4
4
 
5
5
  [project]
6
6
  name="pyg-nightly"
7
- version="2.7.0.dev20250603"
7
+ version="2.7.0.dev20250605"
8
8
  authors=[
9
9
  {name="Matthias Fey", email="matthias@pyg.org"},
10
10
  ]
@@ -31,7 +31,7 @@ from .lazy_loader import LazyLoader
31
31
  contrib = LazyLoader('contrib', globals(), 'torch_geometric.contrib')
32
32
  graphgym = LazyLoader('graphgym', globals(), 'torch_geometric.graphgym')
33
33
 
34
- __version__ = '2.7.0.dev20250603'
34
+ __version__ = '2.7.0.dev20250605'
35
35
 
36
36
  __all__ = [
37
37
  'Index',
@@ -16,11 +16,12 @@ class CityNetwork(InMemoryDataset):
16
16
  a Large Graph Dataset and a Measurement"
17
17
  <https://arxiv.org/abs/2503.09008>`_ paper.
18
18
  The dataset contains four city networks: `paris`, `shanghai`, `la`,
19
- and 'london', where nodes represent junctions and edges represent
20
- directed road segments. The task is to predict each node's eccentricity
21
- score, which is approximated based on its 16-hop neighborhood. The score
22
- indicates how accessible one node is in the network, and is mapped to
23
- 10 quantiles for transductive classification. See the original
19
+ and `london`, where nodes represent junctions and edges represent
20
+ undirected road segments. The task is to predict each node's eccentricity
21
+ score, which is approximated based on its 16-hop neighborhood and naturally
22
+ requires long-range information. The score indicates how accessible one
23
+ node is in the network, and is mapped to 10 quantiles for transductive
24
+ classification. See the original
24
25
  `source code <https://github.com/LeonResearch/City-Networks>`_ for more
25
26
  details on the individual networks.
26
27
 
@@ -61,6 +61,7 @@ from .gps_conv import GPSConv
61
61
  from .antisymmetric_conv import AntiSymmetricConv
62
62
  from .dir_gnn_conv import DirGNNConv
63
63
  from .mixhop_conv import MixHopConv
64
+ from .meshcnn_conv import MeshCNNConv
64
65
 
65
66
  import torch_geometric.nn.conv.utils # noqa
66
67
 
@@ -131,6 +132,7 @@ __all__ = [
131
132
  'AntiSymmetricConv',
132
133
  'DirGNNConv',
133
134
  'MixHopConv',
135
+ 'MeshCNNConv',
134
136
  ]
135
137
 
136
138
  classes = __all__
@@ -0,0 +1,491 @@
1
+ # The below is to suppress the warning on torch.nn.conv.MeshCNNConv::update
2
+ # pyright: reportIncompatibleMethodOverride=false
3
+ from typing import Optional
4
+ from warnings import warn
5
+
6
+ import torch
7
+ from torch.nn import Linear, Module, ModuleList
8
+
9
+ from torch_geometric.nn.conv import MessagePassing
10
+ from torch_geometric.typing import Tensor
11
+
12
+
13
+ class MeshCNNConv(MessagePassing):
14
+ r"""The convolutional layer introduced by the paper
15
+ `"MeshCNN: A Network With An Edge" <https://arxiv.org/abs/1809.05910>`_.
16
+
17
+ Recall that, given a set of categories :math:`C`,
18
+ MeshCNN is a function that takes as its input
19
+ a triangular mesh
20
+ :math:`\mathcal{m} = (V, F) \in \mathbb{R}^{|V| \times 3} \times
21
+ \{0,...,|V|-1\}^{3 \times |F|}`, and returns as its output
22
+ a :math:`|C|`-dimensional vector, whose :math:`i` th component denotes
23
+ the probability of the input mesh belonging to category :math:`c_i \in C`.
24
+
25
+ Let :math:`X^{(k)} \in \mathbb{R}^{|E| \times \text{Dim-Out}(k)}`
26
+ denote the output value of the prior (e.g. :math:`k` th )
27
+ layer of our neural network. The :math:`i` th row of :math:`X^{(k)}` is a
28
+ :math:`\text{Dim-Out}(k)`-dimensional vector that represents the features
29
+ computed by the :math:`k` th layer for edge :math:`e_i` of the input mesh
30
+ :math:`\mathcal{m}`. Let :math:`A \in \{0, ..., |E|-1\}^{2 \times 4*|E|}`
31
+ denote the *edge adjacency* matrix of our input mesh :math:`\mathcal{m}`.
32
+ The :math:`j` th column of :math:`A` returns a pair of indices
33
+ :math:`k,l \in \{0,...,|E|-1\}`, which means that edge
34
+ :math:`e_k` is adjacent to edge :math:`e_l`
35
+ in our input mesh :math:`\mathcal{m}`.
36
+ The definition of edge adjacency in a triangular
37
+ mesh is illustrated in Figure 1.
38
+ In a triangular
39
+ mesh, each edge :math:`e_i` is expected to be adjacent to exactly :math:`4`
40
+ neighboring edges, hence the number of columns of :math:`A`: :math:`4*|E|`.
41
+ We write *the neighborhood* of edge :math:`e_i` as
42
+ :math:`\mathcal{N}(i) = (a(i), b(i), c(i), d(i))` where
43
+
44
+ 1. :math:`a(i)` denotes the index of the *first* counter-clockwise
45
+ edge of the face *above* :math:`e_i`.
46
+
47
+ 2. :math:`b(i)` denotes the index of the *second* counter-clockwise
48
+ edge of the face *above* :math:`e_i`.
49
+
50
+ 3. :math:`c(i)` denotes the index of the *first* counter-clockwise edge
51
+ of the face *below* :math:`e_i`.
52
+
53
+ 4. :math:`d(i)` denotes the index of the *second*
54
+ counter-clockwise edge of the face *below* :math:`e_i`.
55
+
56
+ .. figure:: ../_figures/meshcnn_edge_adjacency.svg
57
+ :align: center
58
+ :width: 80%
59
+
60
+ **Figure 1:** The neighbors of edge :math:`\mathbf{e_1}`
61
+ are :math:`\mathbf{e_2}, \mathbf{e_3}, \mathbf{e_4}` and
62
+ :math:`\mathbf{e_5}`, respectively.
63
+ We write this as
64
+ :math:`\mathcal{N}(1) = (a(1), b(1), c(1), d(1)) = (2, 3, 4, 5)`
65
+
66
+
67
+ Because of this ordering constrait, :obj:`MeshCNNConv` **requires
68
+ that the columns of** :math:`A`
69
+ **be ordered in the following way**:
70
+
71
+ .. math::
72
+ &A[:,0] = (0, \text{The index of the "a" edge for edge } 0) \\
73
+ &A[:,1] = (0, \text{The index of the "b" edge for edge } 0) \\
74
+ &A[:,2] = (0, \text{The index of the "c" edge for edge } 0) \\
75
+ &A[:,3] = (0, \text{The index of the "d" edge for edge } 0) \\
76
+ \vdots \\
77
+ &A[:,4*|E|-4] =
78
+ \bigl(|E|-1,
79
+ a\bigl(|E|-1\bigr)\bigr) \\
80
+ &A[:,4*|E|-3] =
81
+ \bigl(|E|-1,
82
+ b\bigl(|E|-1\bigr)\bigr) \\
83
+ &A[:,4*|E|-2] =
84
+ \bigl(|E|-1,
85
+ c\bigl(|E|-1\bigr)\bigr) \\
86
+ &A[:,4*|E|-1] =
87
+ \bigl(|E|-1,
88
+ d\bigl(|E|-1\bigr)\bigr)
89
+
90
+
91
+ Stated a bit more compactly, for every edge :math:`e_i` in the input mesh,
92
+ :math:`A`, should have the following entries
93
+
94
+ .. math::
95
+ A[:, 4*i] &= (i, a(i)) \\
96
+ A[:, 4*i + 1] &= (i, b(i)) \\
97
+ A[:, 4*i + 2] &= (i, c(i)) \\
98
+ A[:, 4*i + 3] &= (i, d(i))
99
+
100
+ To summarize so far, we have defined 3 things:
101
+
102
+ 1. The activation of the prior (e.g. :math:`k` th) layer,
103
+ :math:`X^{(k)} \in \mathbb{R}^{|E| \times \text{Dim-Out}(k)}`
104
+
105
+ 2. The edge adjacency matrix and the definition of edge adjacency.
106
+ :math:`A \in \{0,...,|E|-1\}^{2 \times 4*|E|}`
107
+
108
+ 3. The ways the columns of :math:`A` must be ordered.
109
+
110
+
111
+
112
+ We are now finally able to define the :obj:`MeshCNNConv` class/layer.
113
+ In the following definition
114
+ we assume :obj:`MeshCNNConv` is at the :math:`k+1` th layer of our
115
+ neural network.
116
+
117
+ The :obj:`MeshCNNConv` layer is a function,
118
+
119
+ .. math::
120
+ \text{MeshCNNConv}^{(k+1)}(X^{(k)}, A) = X^{(k+1)},
121
+
122
+ that, given the prior layer's output
123
+ :math:`X^{(k)} \in \mathbb{R}^{|E| \times \text{Dim-Out}(k)}`
124
+ and the edge adjacency matrix :math:`A`
125
+ of the input mesh (graph) :math:`\mathcal{m}` ,
126
+ returns a new edge feature tensor
127
+ :math:`X^{(k+1)} \in \mathbb{R}^{|E| \times \text{Dim-Out}(k+1)}`,
128
+ where the :math:`i` th row of :math:`X^{(k+1)}`, denoted by
129
+ :math:`x^{(k+1)}_i`,
130
+ represents the :math:`\text{Dim-Out}(k+1)`-dimensional feature vector
131
+ of edge :math:`e_i`, **and is defined as follows**:
132
+
133
+ .. math::
134
+ x^{(k+1)}_i &= W^{(k+1)}_0 x^{(k)}_i \\
135
+ &+ W^{(k+1)}_1 \bigl| x^{(k)}_{a(i)} - x^{(k)}_{c(i)} \bigr| \\
136
+ &+ W^{(k+1)}_2 \bigl( x^{(k)}_{a(i)} + x^{(k)}_{c(i)} \bigr) \\
137
+ &+ W^{(k+1)}_3 \bigl| x^{(k)}_{b(i)} - x^{(k)}_{d(i)} \bigr| \\
138
+ &+ W^{(k+1)}_4 \bigl( x^{(k)}_{b(i)} + x^{(k)}_{d(i)} \bigr).
139
+
140
+ :math:`W_0^{(k+1)},W_1^{(k+1)},W_2^{(k+1)},W_3^{(k+1)}, W_4^{(k+1)}
141
+ \in \mathbb{R}^{\text{Dim-Out}(k+1) \times \text{Dim-Out}(k)}`
142
+ are trainable linear functions (i.e. "the weights" of this layer).
143
+ :math:`x_i` is the :math:`\text{Dim-Out}(k)`-dimensional feature of
144
+ edge :math:`e_i` vector computed by the prior (e.g. :math:`k`) th layer.
145
+ :math:`x^{(k)}_{a(i)}, x^{(k)}_{b(i)}, x^{(k)}_{c(i)}`, and
146
+ :math:`x^{(k)}_{d(i)}` are the :math:`\text{Dim-Out}(k)`-feature vectors,
147
+ computed in the :math:`k` th layer, that are associated with the :math:`4`
148
+ neighboring edges of :math:`e_i`.
149
+
150
+
151
+ Args:
152
+ in_channels (int): Corresonds to :math:`\text{Dim-Out}(k)`
153
+ in the above overview. This
154
+ represents the output dimension of the prior layer. For the given
155
+ input mesh :math:`\mathcal{m} = (V, F)`, the prior layer is
156
+ expected to output a
157
+ :math:`X \in \mathbb{R}^{|E| \times \textit{in_channels}}`
158
+ feature matrix.
159
+ Assuming the instance of this class
160
+ is situated at layer :math:`k+1`, we write that
161
+ :math:`X^{(k)} \in \mathbb{R}^{|E| \times \textit{in_channels}}`.
162
+ out_channels (int): Corresponds to :math:`\text{Dim-Out}(k+1)` in the
163
+ above overview. This represents the output dimension of this layer.
164
+ Assuming the instance of this class
165
+ is situated at layer :math:`k+1`, we write that
166
+ :math:`X^{(k+1)}
167
+ \in \mathbb{R}^{|E| \times \textit{out_channels}}`.
168
+ kernels (torch.nn.ModuleList, optional): A list of length of 5,
169
+ where each
170
+ element is a :class:`torch.nn.module` (i.e a neural network),
171
+ that each MUST take as input a vector
172
+ of dimension :`obj:in_channels` and return a vector of dimension
173
+ :obj:`out_channels`. In particular,
174
+ `obj:kernels[0]` is :math:`W^{(k+1)}_0` in the above overview
175
+ (see :obj:`MeshCNNConv`), `obj:kernels[1]` is :math:`W^{(k+1)}_1`,
176
+ `obj:kernels[2]` is :math:`W^{(k+1)}_2`,
177
+ `obj:kernels[3]` is :math:`W^{(k+1)}_3`
178
+ `obj:kernels[4]` is :math:`W^{(k+1)}_4`.
179
+ Note that this input is optional, in which case
180
+ each of the 5 elements in the kernels will be a linear
181
+ neural network :class:`torch.nn.modules.Linear`
182
+ correctly configured to take as input
183
+ :attr:`in_channels`-dimensional vectors and return
184
+ a vector of dimensions :attr:`out_channels`.
185
+
186
+ Discussion:
187
+ The key difference that seperates :obj:`MeshCNNConv` from a traditional
188
+ message passing graph neural network is that :obj:`MeshCNNConv`
189
+ requires the set of neighbors for a node
190
+ :math:`\mathcal{N}(u) = (v_1, v_2, ...)`
191
+ to *be an ordered set* (i.e. a tuple). In
192
+ fact, :obj:`MeshCNNConv` goes further, requiring
193
+ that :math:`\mathcal{N}(u)` always return a set of size :math:`4`.
194
+ This is different to most message passing graph neural networks,
195
+ which assume that :math:`\mathcal{N}(u) = \{v_1, v_2, ...\}` returns an
196
+ ordered set. This lends :obj:`MeshCNNConv` more expressive power,
197
+ at the cost of no longer being permutation invariant to
198
+ :math:`\mathbb{S}_4`. Put more plainly, in tradition message passing
199
+ GNNs, the network is *unable* to distinguish one neighboring node
200
+ from another.
201
+ In constrast, in :obj:`MeshCNNConv`, each of the 4 neighbors has a
202
+ "role", either the "a", "b", "c", or "d" neighbor. We encode this fact
203
+ by requiring that :math:`\mathcal{N}` return the 4-tuple,
204
+ where the first component is the "a" neighbor, and so on.
205
+
206
+ To summarize this comparison, it may re-define
207
+ :obj:`MeshCNNConv` in terms of :math:`\text{UPDATE}` and
208
+ :math:`\text{AGGREGATE}`
209
+ functions, which is a general way to define a traditional GNN layer.
210
+ If we let :math:`x_i^{(k+1)}`
211
+ denote the output of a GNN layer for node :math:`i` at
212
+ layer :math:`k+1`, and let
213
+ :math:`\mathcal{N}(i)` denote the set of nodes adjacent
214
+ to node :math:`i`,
215
+ then we can describe the :math:`k+1` th layer as traditional GNN
216
+ as
217
+
218
+ .. math::
219
+ x_i^{(k+1)} = \text{UPDATE}^{(k+1)}\bigl(x^{(k)}_i,
220
+ \text{AGGREGATE}^{(k+1)}\bigl(\mathcal{N}(i)\bigr)\bigr).
221
+
222
+ Here, :math:`\text{UPDATE}^{(k+1)}` is a function of :math:`2`
223
+ :math:`\text{Dim-Out}(k)`-dimensional vectors, and returns a
224
+ :math:`\text{Dim-Out}(k+1)`-dimensional vector.
225
+ :math:`\text{AGGREGATE}^{(k+1)}` function
226
+ is a function of a *unordered set*
227
+ of nodes that are neighbors of node :math:`i`, as defined by
228
+ :math:`\mathcal{N}(i)`. Usually the size of this set varies across
229
+ different nodes :math:`i`, and one of the most basic examples
230
+ of such a function is the "sum aggregation", defined as
231
+ :math:`\text{AGGREGATE}^{(k+1)}(\mathcal{N}(i)) =
232
+ \sum_{j \in \mathcal{N}(i)} x^{(k)}_j`.
233
+ See
234
+ :class:`SumAggregation <torch_geometric.nn.aggr.basic.SumAggregation>`
235
+ for more.
236
+
237
+ In contrast, while :obj:`MeshCNNConv` 's :math:`\text{UPDATE}`
238
+ function follows
239
+ a tradition GNN, its :math:`\text{AGGREGATE}` is a function of a tuple
240
+ (i.e. an ordered set) of neighbors
241
+ rather than a unordered set of neighbors.
242
+ In particular, while the :math:`\text{UPDATE}`
243
+ function of :obj:`MeshCNNConv` for :math:`e_i` is
244
+
245
+ .. math::
246
+ x_i^{(k+1)} = \text{UPDATE}^{(k+1)}(x_i^{(k)}, s_i^{(k+1)})
247
+ = W_0^{(k+1)}x_i^{(k)} + s_i^{(k+1)},
248
+
249
+ in contrast, :obj:`MeshCNNConv` 's :math:`\text{AGGREGATE}` function is
250
+
251
+ .. math::
252
+ s_i^{(k+1)} = \text{AGGREGATE}^{(k+1)}(A, B, C, D)
253
+ &= W_1^{(k+1)}\bigl|A - C \bigr| \\
254
+ &= W_2^{(k+1)}\bigl(A + C \bigr) \\
255
+ &= W_3^{(k+1)}\bigl|B - D \bigr| \\
256
+ &= W_4^{(k+1)}\bigl(B + D \bigr),
257
+
258
+ where :math:`A=x_{a(i)}^{(k)}, B=x_{b(i)}^{(k)}, C=x_{c(i)}^{(k)},`
259
+ and :math:`D=x_{d(i)}^{(k)}`.
260
+
261
+ ..
262
+
263
+ The :math:`i` th row of
264
+ :math:`V \in \mathbb{R}^{|V| \times 3}`
265
+ holds the cartesian :math:`xyz`
266
+ coordinates for node :math:`v_i` in the mesh, and the :math:`j` th
267
+ column in :math:`F \in \{1,...,|V|\}^{3 \times |V|}`
268
+ holds the :math:`3` indices
269
+ :math:`(k,l,m)` that correspond to the :math:`3` nodes
270
+ :math:`(v_k, v_l, v_m)` that construct face :math:`j` of the mesh.
271
+ """
272
+ def __init__(self, in_channels: int, out_channels: int,
273
+ kernels: Optional[ModuleList] = None):
274
+ super().__init__(aggr='add')
275
+ self.in_channels = in_channels
276
+ self.out_channels = out_channels
277
+
278
+ if kernels is None:
279
+ self.kernels = ModuleList(
280
+ [Linear(in_channels, out_channels) for _ in range(5)])
281
+
282
+ else:
283
+ # ensures kernels is properly formed, otherwise throws
284
+ # the appropriate error.
285
+ self._assert_kernels(kernels)
286
+ self.kernels = kernels
287
+
288
+ def forward(self, x: Tensor, edge_index: Tensor):
289
+ r"""Forward pass.
290
+
291
+ Args:
292
+ x(torch.Tensor): :math:`X^{(k)} \in
293
+ \mathbb{R}^{|E| \times \textit{in_channels}}`.
294
+ The edge feature tensor returned by the prior layer
295
+ (e.g. :math:`k`). The tensor is of shape
296
+ :math:`|E| \times \text{Dim-Out}(k)`, or equivalently,
297
+ :obj:`(|E|, self.in_channels)`.
298
+
299
+ edge_index(torch.Tensor):
300
+ :math:`A \in \{0,...,|E|-1\}^{2 \times 4*|E|}`.
301
+ The edge adjacency tensor of the networks input mesh
302
+ :math:`\mathcal{m} = (V, F)`. The edge adjacency tensor
303
+ **MUST** have the following form:
304
+
305
+ .. math::
306
+ &A[:,0] = (0,
307
+ \text{The index of the "a" edge for edge } 0) \\
308
+ &A[:,1] = (0,
309
+ \text{The index of the "b" edge for edge } 0) \\
310
+ &A[:,2] = (0,
311
+ \text{The index of the "c" edge for edge } 0) \\
312
+ &A[:,3] = (0,
313
+ \text{The index of the "d" edge for edge } 0) \\
314
+ \vdots \\
315
+ &A[:,4*|E|-4] =
316
+ \bigl(|E|-1,
317
+ a\bigl(|E|-1\bigr)\bigr) \\
318
+ &A[:,4*|E|-3] =
319
+ \bigl(|E|-1,
320
+ b\bigl(|E|-1\bigr)\bigr) \\
321
+ &A[:,4*|E|-2] =
322
+ \bigl(|E|-1,
323
+ c\bigl(|E|-1\bigr)\bigr) \\
324
+ &A[:,4*|E|-1] =
325
+ \bigl(|E|-1,
326
+ d\bigl(|E|-1\bigr)\bigr)
327
+
328
+ See :obj:`MeshCNNConv` for what
329
+ "index of the 'a'(b,c,d) edge for edge i" means, and also
330
+ for the general definition of edge adjacency in MeshCNN.
331
+ These definitions are also provided in the
332
+ `paper <https://arxiv.org/abs/1809.05910>`_ itself.
333
+
334
+ Returns:
335
+ torch.Tensor:
336
+ :math:`X^{(k+1)} \in \mathbb{R}^{|E| \times \textit{out_channels}}`.
337
+ The edge feature tensor for this (e.g. the :math:`k+1` th) layer.
338
+ The :math:`i` th row of :math:`X^{(k+1)}` is computed according
339
+ to the formula
340
+
341
+ .. math::
342
+ x^{(k+1)}_i &= W^{(k+1)}_0 x^{(k)}_i \\
343
+ &+ W^{(k+1)}_1 \bigl| x^{(k)}_{a(i)} - x^{(k)}_{c(i)} \bigr| \\
344
+ &+ W^{(k+1)}_2 \bigl( x^{(k)}_{a(i)} + x^{(k)}_{c(i)} \bigr) \\
345
+ &+ W^{(k+1)}_3 \bigl| x^{(k)}_{b(i)} - x^{(k)}_{d(i)} \bigr| \\
346
+ &+ W^{(k+1)}_4 \bigl( x^{(k)}_{b(i)} + x^{(k)}_{d(i)} \bigr),
347
+
348
+ where :math:`W_0^{(k+1)},W_1^{(k+1)},
349
+ W_2^{(k+1)},W_3^{(k+1)}, W_4^{(k+1)}
350
+ \in \mathbb{R}^{\text{Dim-Out}(k+1) \times \text{Dim-Out}(k)}`
351
+ are the trainable linear functions (i.e. the trainable
352
+ "weights") of this layer, and
353
+ :math:`x^{(k)}_{a(i)}, x^{(k)}_{b(i)}, x^{(k)}_{c(i)}`,
354
+ :math:`x^{(k)}_{d(i)}` are the
355
+ :math:`\text{Dim-Out}(k)`-dimensional edge feature vectors
356
+ computed by the prior (:math:`k` th) layer,
357
+ that are associated with the :math:`4`
358
+ neighboring edges of :math:`e_i`.
359
+
360
+ """
361
+ return self.propagate(edge_index, x=x)
362
+
363
+ def message(self, x_j: Tensor) -> Tensor:
364
+ r"""The messaging passing step of :obj:`MeshCNNConv`.
365
+
366
+
367
+ Args:
368
+ x_j: A :obj:`[4*|E|, num_node_features]` tensor.
369
+ Its ith row holds the value
370
+ stored by the source node in the previous layer of edge i.
371
+
372
+ Returns:
373
+ A :obj:`[|E|, num_node_features]` tensor,
374
+ whose ith row will be the value
375
+ that the target node of edge i will receive.
376
+ """
377
+ # The following variables names are taken from the paper
378
+ # MeshCNN computes the features associated with edge
379
+ # e by (|a - c|, a + c, |b - c|, b + c), where a, b, c, d are the
380
+ # neighboring edges of e, a being the 1 edge of the upper face,
381
+ # b being the second edge of the upper face, c being the first edge
382
+ # of the lower face,
383
+ # and d being the second edge of the lower face of the input Mesh
384
+
385
+ # TODO: It is unclear if view is faster. If it is not,
386
+ # then we should prefer the strided method commented out below
387
+
388
+ E4, in_channels = x_j.size() # E4 = 4|E|, i.e. num edges in line graph
389
+ # Option 1
390
+ n_a = x_j[0::4] # shape: |E| x in_channels
391
+ n_b = x_j[1::4] # shape: |E| x in_channels
392
+ n_c = x_j[2::4] # shape: |E| x in_channels
393
+ n_d = x_j[3::4] # shape: |E| x in_channels
394
+ m = torch.empty(E4, self.out_channels)
395
+ m[0::4] = self.kernels[1].forward(torch.abs(n_a - n_c))
396
+ m[1::4] = self.kernels[2].forward(n_a + n_c)
397
+ m[2::4] = self.kernels[3].forward(torch.abs(n_b - n_d))
398
+ m[3::4] = self.kernels[4].forward(n_b + n_d)
399
+ return m
400
+
401
+ # Option 2
402
+ # E4, in_channels = x_j.size()
403
+ # E = E4 // 4
404
+ # x_j = x_j.view(E, 4, in_channels) # shape: (|E| x 4 x in_channels)
405
+ # n_a, n_b, n_c, n_d = x_j.unbind(
406
+ # dim=1) # shape: (4 x |E| x in_channels)
407
+ # m = torch.stack(
408
+ # [
409
+ # (n_a - n_c).abs(), # shape: |E| x in_channels
410
+ # n_a + n_c,
411
+ # (n_b - n_d).abs(),
412
+ # n_b + n_d,
413
+ # ],
414
+ # dim=1) # shape: (|E| x 4 x in_channels)
415
+ # m.view(E4, in_channels) # shape 4*|E| x in_channels
416
+ # return m
417
+
418
+ def update(self, inputs: Tensor, x: Tensor) -> Tensor:
419
+ r"""The UPDATE step, in reference to the UPDATE and AGGREGATE
420
+ formulation of message passing convolution.
421
+
422
+ Args:
423
+ inputs(torch.Tensor): The :attr:`in_channels`-dimensional vector
424
+ returned by aggregate.
425
+ x(torch.Tensor): :math:`X^{(k)}`. The original inputs to this layer.
426
+
427
+ Returns:
428
+ torch.Tensor: :math:`X^{(k+1)}`. The output of this layer, which
429
+ has shape :obj:`(|E|, out_channels)`.
430
+ """
431
+ return self.kernels[0].forward(x) + inputs
432
+
433
+ def _assert_kernels(self, kernels: ModuleList):
434
+ r"""Ensures that :obj:`kernels` is a list of 5 :obj:`torch.nn.Module`
435
+ modules (i.e. networks). In addition, it also ensures that each network
436
+ takes in input of dimension :attr:`in_channels`, and returns output
437
+ of dimension :attr:`out_channels`.
438
+ This method throws an error otherwise.
439
+
440
+ .. warn::
441
+ This method throws an error if :obj:`kernels` is
442
+ not valid. (Otherwise this method returns nothing)
443
+
444
+ """
445
+ assert isinstance(kernels, ModuleList), \
446
+ f"Parameter 'kernels' must be a \
447
+ torch.nn.module.ModuleList with 5 memebers, but we got \
448
+ {type(kernels)}."
449
+
450
+ assert len(kernels) == 5, "Parameter 'kernels' must be a \
451
+ torch.nn.module.ModuleList of with exactly 5 members"
452
+
453
+ for i, network in enumerate(kernels):
454
+ assert isinstance(network, Module), \
455
+ f"kernels[{i}] must be torch.nn.Module, got \
456
+ {type(network)}"
457
+ if not hasattr(network, "in_channels") and \
458
+ not hasattr(network, "in_features"):
459
+ warn(f"kernel[{i}] does not have attribute \
460
+ 'in_channels' nor 'out_features'. The \
461
+ network must take as input a \
462
+ {self.in_channels}-dimensional tensor. \
463
+ Still, assuming user configured \
464
+ correctly. Continuing..")
465
+ else:
466
+ input_dimension = getattr(network, "in_channels",
467
+ network.in_features)
468
+ assert input_dimension == self.in_channels, f"The input \
469
+ dimension of the neural network in kernel[{i}] must \
470
+ be \
471
+ equal to 'in_channels', but input_dimension = \
472
+ {input_dimension}, and \
473
+ self.in_channels={self.in_channels}."
474
+
475
+ if not hasattr(network, "out_channels") and \
476
+ not hasattr(network, "out_features"):
477
+ warn(f"kernel[{i}] does not have attribute \
478
+ 'in_channels' nor 'out_features'. The \
479
+ network must take as input a \
480
+ {self.in_channels}-dimensional tensor. \
481
+ Still, assuming user configured \
482
+ correctly. Continuing..")
483
+ else:
484
+ output_dimension = getattr(network, "out_channels",
485
+ network.out_features)
486
+ assert output_dimension == self.out_channels, f"The output \
487
+ dimension of the neural network in kernel[{i}] must \
488
+ be \
489
+ equal to 'out_channels', but out_dimension = \
490
+ {output_dimension}, and \
491
+ self.out_channels={self.out_channels}."
@@ -57,6 +57,7 @@ from .embedding import get_embeddings, get_embeddings_hetero
57
57
  from ._trim_to_layer import trim_to_layer
58
58
  from .ppr import get_ppr
59
59
  from ._train_test_split_edges import train_test_split_edges
60
+ from .influence import total_influence
60
61
 
61
62
  __all__ = [
62
63
  'scatter',
@@ -149,6 +150,7 @@ __all__ = [
149
150
  'trim_to_layer',
150
151
  'get_ppr',
151
152
  'train_test_split_edges',
153
+ 'total_influence',
152
154
  ]
153
155
 
154
156
  # `structured_negative_sampling_feasible` is a long name and thus destroys the