pyg-nightly 2.7.0.dev20250422__tar.gz → 2.7.0.dev20250424__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 (643) hide show
  1. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/PKG-INFO +1 -1
  2. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/pyproject.toml +1 -1
  3. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/__init__.py +1 -1
  4. pyg_nightly-2.7.0.dev20250424/torch_geometric/explain/algorithm/attention_explainer.py +304 -0
  5. pyg_nightly-2.7.0.dev20250422/torch_geometric/explain/algorithm/attention_explainer.py +0 -114
  6. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/LICENSE +0 -0
  7. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/README.md +0 -0
  8. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/_compile.py +0 -0
  9. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/_onnx.py +0 -0
  10. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/backend.py +0 -0
  11. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/config_mixin.py +0 -0
  12. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/config_store.py +0 -0
  13. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/contrib/__init__.py +0 -0
  14. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/contrib/datasets/__init__.py +0 -0
  15. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/contrib/explain/__init__.py +0 -0
  16. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/contrib/explain/pgm_explainer.py +0 -0
  17. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/contrib/nn/__init__.py +0 -0
  18. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/contrib/nn/conv/__init__.py +0 -0
  19. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/contrib/nn/models/__init__.py +0 -0
  20. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/contrib/nn/models/rbcd_attack.py +0 -0
  21. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/contrib/transforms/__init__.py +0 -0
  22. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/__init__.py +0 -0
  23. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/batch.py +0 -0
  24. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/collate.py +0 -0
  25. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/data.py +0 -0
  26. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/database.py +0 -0
  27. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/datapipes.py +0 -0
  28. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/dataset.py +0 -0
  29. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/download.py +0 -0
  30. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/extract.py +0 -0
  31. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/feature_store.py +0 -0
  32. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/graph_store.py +0 -0
  33. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/hetero_data.py +0 -0
  34. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/hypergraph_data.py +0 -0
  35. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/in_memory_dataset.py +0 -0
  36. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/large_graph_indexer.py +0 -0
  37. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/lightning/__init__.py +0 -0
  38. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/lightning/datamodule.py +0 -0
  39. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/makedirs.py +0 -0
  40. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/on_disk_dataset.py +0 -0
  41. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/remote_backend_utils.py +0 -0
  42. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/separate.py +0 -0
  43. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/storage.py +0 -0
  44. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/summary.py +0 -0
  45. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/temporal.py +0 -0
  46. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/data/view.py +0 -0
  47. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/__init__.py +0 -0
  48. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/actor.py +0 -0
  49. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/airfrans.py +0 -0
  50. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/airports.py +0 -0
  51. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/amazon.py +0 -0
  52. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/amazon_book.py +0 -0
  53. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/amazon_products.py +0 -0
  54. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/aminer.py +0 -0
  55. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/aqsol.py +0 -0
  56. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/attributed_graph_dataset.py +0 -0
  57. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/ba2motif_dataset.py +0 -0
  58. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/ba_multi_shapes.py +0 -0
  59. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/ba_shapes.py +0 -0
  60. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/bitcoin_otc.py +0 -0
  61. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/brca_tgca.py +0 -0
  62. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/citation_full.py +0 -0
  63. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/coauthor.py +0 -0
  64. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/coma.py +0 -0
  65. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/cornell.py +0 -0
  66. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/dblp.py +0 -0
  67. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/dbp15k.py +0 -0
  68. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/deezer_europe.py +0 -0
  69. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/dgraph.py +0 -0
  70. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/dynamic_faust.py +0 -0
  71. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/elliptic.py +0 -0
  72. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/elliptic_temporal.py +0 -0
  73. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/email_eu_core.py +0 -0
  74. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/entities.py +0 -0
  75. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/explainer_dataset.py +0 -0
  76. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/facebook.py +0 -0
  77. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/fake.py +0 -0
  78. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/faust.py +0 -0
  79. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/flickr.py +0 -0
  80. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/freebase.py +0 -0
  81. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/gdelt.py +0 -0
  82. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/gdelt_lite.py +0 -0
  83. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/ged_dataset.py +0 -0
  84. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/gemsec.py +0 -0
  85. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/geometry.py +0 -0
  86. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/git_mol_dataset.py +0 -0
  87. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/github.py +0 -0
  88. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/gnn_benchmark_dataset.py +0 -0
  89. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/graph_generator/__init__.py +0 -0
  90. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/graph_generator/ba_graph.py +0 -0
  91. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/graph_generator/base.py +0 -0
  92. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/graph_generator/er_graph.py +0 -0
  93. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/graph_generator/grid_graph.py +0 -0
  94. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/graph_generator/tree_graph.py +0 -0
  95. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/heterophilous_graph_dataset.py +0 -0
  96. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/hgb_dataset.py +0 -0
  97. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/hm.py +0 -0
  98. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/hydro_net.py +0 -0
  99. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/icews.py +0 -0
  100. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/igmc_dataset.py +0 -0
  101. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/imdb.py +0 -0
  102. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/infection_dataset.py +0 -0
  103. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/instruct_mol_dataset.py +0 -0
  104. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/jodie.py +0 -0
  105. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/karate.py +0 -0
  106. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/last_fm.py +0 -0
  107. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/lastfm_asia.py +0 -0
  108. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/linkx_dataset.py +0 -0
  109. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/lrgb.py +0 -0
  110. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/malnet_tiny.py +0 -0
  111. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/md17.py +0 -0
  112. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/mixhop_synthetic_dataset.py +0 -0
  113. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/mnist_superpixels.py +0 -0
  114. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/modelnet.py +0 -0
  115. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/molecule_gpt_dataset.py +0 -0
  116. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/molecule_net.py +0 -0
  117. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/motif_generator/__init__.py +0 -0
  118. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/motif_generator/base.py +0 -0
  119. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/motif_generator/custom.py +0 -0
  120. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/motif_generator/cycle.py +0 -0
  121. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/motif_generator/grid.py +0 -0
  122. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/motif_generator/house.py +0 -0
  123. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/movie_lens.py +0 -0
  124. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/movie_lens_100k.py +0 -0
  125. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/movie_lens_1m.py +0 -0
  126. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/myket.py +0 -0
  127. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/nell.py +0 -0
  128. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/neurograph.py +0 -0
  129. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/ogb_mag.py +0 -0
  130. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/omdb.py +0 -0
  131. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/opf.py +0 -0
  132. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/ose_gvcs.py +0 -0
  133. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/particle.py +0 -0
  134. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/pascal.py +0 -0
  135. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/pascal_pf.py +0 -0
  136. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/pcpnet_dataset.py +0 -0
  137. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/pcqm4m.py +0 -0
  138. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/planetoid.py +0 -0
  139. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/polblogs.py +0 -0
  140. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/ppi.py +0 -0
  141. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/qm7.py +0 -0
  142. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/qm9.py +0 -0
  143. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/rcdd.py +0 -0
  144. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/reddit.py +0 -0
  145. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/reddit2.py +0 -0
  146. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/rel_link_pred_dataset.py +0 -0
  147. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/s3dis.py +0 -0
  148. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/sbm_dataset.py +0 -0
  149. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/shapenet.py +0 -0
  150. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/shrec2016.py +0 -0
  151. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/snap_dataset.py +0 -0
  152. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/suite_sparse.py +0 -0
  153. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/tag_dataset.py +0 -0
  154. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/taobao.py +0 -0
  155. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/tosca.py +0 -0
  156. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/tu_dataset.py +0 -0
  157. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/twitch.py +0 -0
  158. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/upfd.py +0 -0
  159. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/utils/__init__.py +0 -0
  160. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/utils/cheatsheet.py +0 -0
  161. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/web_qsp_dataset.py +0 -0
  162. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/webkb.py +0 -0
  163. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/wikics.py +0 -0
  164. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/wikidata.py +0 -0
  165. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/wikipedia_network.py +0 -0
  166. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/willow_object_class.py +0 -0
  167. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/word_net.py +0 -0
  168. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/yelp.py +0 -0
  169. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/datasets/zinc.py +0 -0
  170. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/debug.py +0 -0
  171. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/deprecation.py +0 -0
  172. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/device.py +0 -0
  173. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/distributed/__init__.py +0 -0
  174. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/distributed/dist_context.py +0 -0
  175. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/distributed/dist_link_neighbor_loader.py +0 -0
  176. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/distributed/dist_loader.py +0 -0
  177. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/distributed/dist_neighbor_loader.py +0 -0
  178. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/distributed/dist_neighbor_sampler.py +0 -0
  179. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/distributed/event_loop.py +0 -0
  180. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/distributed/local_feature_store.py +0 -0
  181. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/distributed/local_graph_store.py +0 -0
  182. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/distributed/partition.py +0 -0
  183. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/distributed/rpc.py +0 -0
  184. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/distributed/utils.py +0 -0
  185. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/edge_index.py +0 -0
  186. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/experimental.py +0 -0
  187. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/explain/__init__.py +0 -0
  188. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/explain/algorithm/__init__.py +0 -0
  189. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/explain/algorithm/base.py +0 -0
  190. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/explain/algorithm/captum.py +0 -0
  191. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/explain/algorithm/captum_explainer.py +0 -0
  192. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/explain/algorithm/dummy_explainer.py +0 -0
  193. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/explain/algorithm/gnn_explainer.py +0 -0
  194. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/explain/algorithm/graphmask_explainer.py +0 -0
  195. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/explain/algorithm/pg_explainer.py +0 -0
  196. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/explain/algorithm/utils.py +0 -0
  197. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/explain/config.py +0 -0
  198. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/explain/explainer.py +0 -0
  199. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/explain/explanation.py +0 -0
  200. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/explain/metric/__init__.py +0 -0
  201. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/explain/metric/basic.py +0 -0
  202. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/explain/metric/faithfulness.py +0 -0
  203. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/explain/metric/fidelity.py +0 -0
  204. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/__init__.py +0 -0
  205. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/benchmark.py +0 -0
  206. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/checkpoint.py +0 -0
  207. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/cmd_args.py +0 -0
  208. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/config.py +0 -0
  209. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/contrib/__init__.py +0 -0
  210. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/contrib/act/__init__.py +0 -0
  211. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/contrib/config/__init__.py +0 -0
  212. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/contrib/encoder/__init__.py +0 -0
  213. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/contrib/head/__init__.py +0 -0
  214. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/contrib/layer/__init__.py +0 -0
  215. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/contrib/layer/generalconv.py +0 -0
  216. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/contrib/loader/__init__.py +0 -0
  217. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/contrib/loss/__init__.py +0 -0
  218. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/contrib/network/__init__.py +0 -0
  219. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/contrib/optimizer/__init__.py +0 -0
  220. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/contrib/pooling/__init__.py +0 -0
  221. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/contrib/stage/__init__.py +0 -0
  222. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/contrib/train/__init__.py +0 -0
  223. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/contrib/transform/__init__.py +0 -0
  224. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/imports.py +0 -0
  225. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/init.py +0 -0
  226. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/loader.py +0 -0
  227. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/logger.py +0 -0
  228. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/loss.py +0 -0
  229. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/model_builder.py +0 -0
  230. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/models/__init__.py +0 -0
  231. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/models/act.py +0 -0
  232. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/models/encoder.py +0 -0
  233. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/models/gnn.py +0 -0
  234. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/models/head.py +0 -0
  235. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/models/layer.py +0 -0
  236. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/models/pooling.py +0 -0
  237. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/models/transform.py +0 -0
  238. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/optim.py +0 -0
  239. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/register.py +0 -0
  240. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/train.py +0 -0
  241. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/utils/LICENSE +0 -0
  242. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/utils/__init__.py +0 -0
  243. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/utils/agg_runs.py +0 -0
  244. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/utils/comp_budget.py +0 -0
  245. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/utils/device.py +0 -0
  246. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/utils/epoch.py +0 -0
  247. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/utils/io.py +0 -0
  248. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/utils/plot.py +0 -0
  249. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/graphgym/utils/tools.py +0 -0
  250. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/hash_tensor.py +0 -0
  251. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/home.py +0 -0
  252. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/index.py +0 -0
  253. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/inspector.py +0 -0
  254. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/io/__init__.py +0 -0
  255. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/io/fs.py +0 -0
  256. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/io/npz.py +0 -0
  257. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/io/obj.py +0 -0
  258. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/io/off.py +0 -0
  259. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/io/planetoid.py +0 -0
  260. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/io/ply.py +0 -0
  261. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/io/sdf.py +0 -0
  262. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/io/tu.py +0 -0
  263. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/io/txt_array.py +0 -0
  264. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/isinstance.py +0 -0
  265. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/lazy_loader.py +0 -0
  266. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/__init__.py +0 -0
  267. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/base.py +0 -0
  268. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/cache.py +0 -0
  269. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/cluster.py +0 -0
  270. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/data_list_loader.py +0 -0
  271. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/dataloader.py +0 -0
  272. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/dense_data_loader.py +0 -0
  273. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/dynamic_batch_sampler.py +0 -0
  274. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/graph_saint.py +0 -0
  275. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/hgt_loader.py +0 -0
  276. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/ibmb_loader.py +0 -0
  277. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/imbalanced_sampler.py +0 -0
  278. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/link_loader.py +0 -0
  279. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/link_neighbor_loader.py +0 -0
  280. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/mixin.py +0 -0
  281. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/neighbor_loader.py +0 -0
  282. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/neighbor_sampler.py +0 -0
  283. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/node_loader.py +0 -0
  284. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/prefetch.py +0 -0
  285. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/rag_loader.py +0 -0
  286. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/random_node_loader.py +0 -0
  287. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/shadow.py +0 -0
  288. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/temporal_dataloader.py +0 -0
  289. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/utils.py +0 -0
  290. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/loader/zip_loader.py +0 -0
  291. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/logging.py +0 -0
  292. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/metrics/__init__.py +0 -0
  293. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/metrics/link_pred.py +0 -0
  294. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/__init__.py +0 -0
  295. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/aggr/__init__.py +0 -0
  296. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/aggr/attention.py +0 -0
  297. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/aggr/base.py +0 -0
  298. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/aggr/basic.py +0 -0
  299. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/aggr/deep_sets.py +0 -0
  300. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/aggr/equilibrium.py +0 -0
  301. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/aggr/fused.py +0 -0
  302. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/aggr/gmt.py +0 -0
  303. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/aggr/gru.py +0 -0
  304. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/aggr/lcm.py +0 -0
  305. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/aggr/lstm.py +0 -0
  306. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/aggr/mlp.py +0 -0
  307. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/aggr/multi.py +0 -0
  308. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/aggr/patch_transformer.py +0 -0
  309. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/aggr/quantile.py +0 -0
  310. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/aggr/scaler.py +0 -0
  311. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/aggr/set2set.py +0 -0
  312. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/aggr/set_transformer.py +0 -0
  313. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/aggr/sort.py +0 -0
  314. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/aggr/utils.py +0 -0
  315. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/aggr/variance_preserving.py +0 -0
  316. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/attention/__init__.py +0 -0
  317. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/attention/performer.py +0 -0
  318. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/attention/qformer.py +0 -0
  319. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/attention/sgformer.py +0 -0
  320. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/__init__.py +0 -0
  321. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/agnn_conv.py +0 -0
  322. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/antisymmetric_conv.py +0 -0
  323. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/appnp.py +0 -0
  324. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/arma_conv.py +0 -0
  325. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/cg_conv.py +0 -0
  326. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/cheb_conv.py +0 -0
  327. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/cluster_gcn_conv.py +0 -0
  328. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/collect.jinja +0 -0
  329. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/cugraph/__init__.py +0 -0
  330. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/cugraph/base.py +0 -0
  331. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/cugraph/gat_conv.py +0 -0
  332. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/cugraph/rgcn_conv.py +0 -0
  333. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/cugraph/sage_conv.py +0 -0
  334. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/dir_gnn_conv.py +0 -0
  335. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/dna_conv.py +0 -0
  336. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/edge_conv.py +0 -0
  337. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/edge_updater.jinja +0 -0
  338. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/eg_conv.py +0 -0
  339. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/fa_conv.py +0 -0
  340. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/feast_conv.py +0 -0
  341. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/film_conv.py +0 -0
  342. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/fused_gat_conv.py +0 -0
  343. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/gat_conv.py +0 -0
  344. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/gated_graph_conv.py +0 -0
  345. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/gatv2_conv.py +0 -0
  346. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/gcn2_conv.py +0 -0
  347. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/gcn_conv.py +0 -0
  348. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/gen_conv.py +0 -0
  349. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/general_conv.py +0 -0
  350. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/gin_conv.py +0 -0
  351. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/gmm_conv.py +0 -0
  352. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/gps_conv.py +0 -0
  353. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/graph_conv.py +0 -0
  354. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/gravnet_conv.py +0 -0
  355. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/han_conv.py +0 -0
  356. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/heat_conv.py +0 -0
  357. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/hetero_conv.py +0 -0
  358. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/hgt_conv.py +0 -0
  359. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/hypergraph_conv.py +0 -0
  360. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/le_conv.py +0 -0
  361. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/lg_conv.py +0 -0
  362. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/message_passing.py +0 -0
  363. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/mf_conv.py +0 -0
  364. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/mixhop_conv.py +0 -0
  365. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/nn_conv.py +0 -0
  366. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/pan_conv.py +0 -0
  367. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/pdn_conv.py +0 -0
  368. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/pna_conv.py +0 -0
  369. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/point_conv.py +0 -0
  370. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/point_gnn_conv.py +0 -0
  371. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/point_transformer_conv.py +0 -0
  372. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/ppf_conv.py +0 -0
  373. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/propagate.jinja +0 -0
  374. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/res_gated_graph_conv.py +0 -0
  375. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/rgat_conv.py +0 -0
  376. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/rgcn_conv.py +0 -0
  377. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/sage_conv.py +0 -0
  378. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/sg_conv.py +0 -0
  379. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/signed_conv.py +0 -0
  380. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/simple_conv.py +0 -0
  381. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/spline_conv.py +0 -0
  382. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/ssg_conv.py +0 -0
  383. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/supergat_conv.py +0 -0
  384. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/tag_conv.py +0 -0
  385. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/transformer_conv.py +0 -0
  386. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/utils/__init__.py +0 -0
  387. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/utils/cheatsheet.py +0 -0
  388. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/wl_conv.py +0 -0
  389. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/wl_conv_continuous.py +0 -0
  390. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/conv/x_conv.py +0 -0
  391. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/data_parallel.py +0 -0
  392. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/dense/__init__.py +0 -0
  393. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/dense/dense_gat_conv.py +0 -0
  394. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/dense/dense_gcn_conv.py +0 -0
  395. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/dense/dense_gin_conv.py +0 -0
  396. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/dense/dense_graph_conv.py +0 -0
  397. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/dense/dense_sage_conv.py +0 -0
  398. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/dense/diff_pool.py +0 -0
  399. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/dense/dmon_pool.py +0 -0
  400. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/dense/linear.py +0 -0
  401. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/dense/mincut_pool.py +0 -0
  402. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/encoding.py +0 -0
  403. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/functional/__init__.py +0 -0
  404. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/functional/bro.py +0 -0
  405. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/functional/gini.py +0 -0
  406. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/fx.py +0 -0
  407. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/glob.py +0 -0
  408. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/inits.py +0 -0
  409. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/kge/__init__.py +0 -0
  410. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/kge/base.py +0 -0
  411. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/kge/complex.py +0 -0
  412. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/kge/distmult.py +0 -0
  413. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/kge/loader.py +0 -0
  414. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/kge/rotate.py +0 -0
  415. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/kge/transe.py +0 -0
  416. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/lr_scheduler.py +0 -0
  417. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/model_hub.py +0 -0
  418. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/__init__.py +0 -0
  419. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/attentive_fp.py +0 -0
  420. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/attract_repel.py +0 -0
  421. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/autoencoder.py +0 -0
  422. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/basic_gnn.py +0 -0
  423. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/captum.py +0 -0
  424. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/correct_and_smooth.py +0 -0
  425. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/deep_graph_infomax.py +0 -0
  426. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/deepgcn.py +0 -0
  427. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/dimenet.py +0 -0
  428. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/dimenet_utils.py +0 -0
  429. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/g_retriever.py +0 -0
  430. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/git_mol.py +0 -0
  431. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/glem.py +0 -0
  432. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/gnnff.py +0 -0
  433. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/gpse.py +0 -0
  434. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/graph_mixer.py +0 -0
  435. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/graph_unet.py +0 -0
  436. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/jumping_knowledge.py +0 -0
  437. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/label_prop.py +0 -0
  438. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/lightgcn.py +0 -0
  439. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/linkx.py +0 -0
  440. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/mask_label.py +0 -0
  441. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/meta.py +0 -0
  442. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/metapath2vec.py +0 -0
  443. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/mlp.py +0 -0
  444. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/molecule_gpt.py +0 -0
  445. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/neural_fingerprint.py +0 -0
  446. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/node2vec.py +0 -0
  447. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/pmlp.py +0 -0
  448. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/re_net.py +0 -0
  449. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/rect.py +0 -0
  450. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/rev_gnn.py +0 -0
  451. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/schnet.py +0 -0
  452. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/sgformer.py +0 -0
  453. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/signed_gcn.py +0 -0
  454. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/tgn.py +0 -0
  455. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/models/visnet.py +0 -0
  456. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/module_dict.py +0 -0
  457. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/nlp/__init__.py +0 -0
  458. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/nlp/llm.py +0 -0
  459. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/nlp/sentence_transformer.py +0 -0
  460. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/nlp/vision_transformer.py +0 -0
  461. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/norm/__init__.py +0 -0
  462. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/norm/batch_norm.py +0 -0
  463. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/norm/diff_group_norm.py +0 -0
  464. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/norm/graph_norm.py +0 -0
  465. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/norm/graph_size_norm.py +0 -0
  466. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/norm/instance_norm.py +0 -0
  467. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/norm/layer_norm.py +0 -0
  468. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/norm/mean_subtraction_norm.py +0 -0
  469. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/norm/msg_norm.py +0 -0
  470. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/norm/pair_norm.py +0 -0
  471. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/parameter_dict.py +0 -0
  472. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/__init__.py +0 -0
  473. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/approx_knn.py +0 -0
  474. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/asap.py +0 -0
  475. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/avg_pool.py +0 -0
  476. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/cluster_pool.py +0 -0
  477. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/connect/__init__.py +0 -0
  478. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/connect/base.py +0 -0
  479. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/connect/filter_edges.py +0 -0
  480. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/consecutive.py +0 -0
  481. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/decimation.py +0 -0
  482. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/edge_pool.py +0 -0
  483. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/glob.py +0 -0
  484. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/graclus.py +0 -0
  485. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/knn.py +0 -0
  486. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/max_pool.py +0 -0
  487. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/mem_pool.py +0 -0
  488. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/pan_pool.py +0 -0
  489. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/pool.py +0 -0
  490. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/sag_pool.py +0 -0
  491. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/select/__init__.py +0 -0
  492. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/select/base.py +0 -0
  493. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/select/topk.py +0 -0
  494. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/topk_pool.py +0 -0
  495. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/pool/voxel_grid.py +0 -0
  496. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/reshape.py +0 -0
  497. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/resolver.py +0 -0
  498. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/sequential.jinja +0 -0
  499. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/sequential.py +0 -0
  500. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/summary.py +0 -0
  501. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/to_fixed_size_transformer.py +0 -0
  502. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/to_hetero_module.py +0 -0
  503. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/to_hetero_transformer.py +0 -0
  504. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/to_hetero_with_bases_transformer.py +0 -0
  505. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/unpool/__init__.py +0 -0
  506. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/nn/unpool/knn_interpolate.py +0 -0
  507. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/profile/__init__.py +0 -0
  508. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/profile/benchmark.py +0 -0
  509. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/profile/nvtx.py +0 -0
  510. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/profile/profile.py +0 -0
  511. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/profile/profiler.py +0 -0
  512. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/profile/utils.py +0 -0
  513. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/resolver.py +0 -0
  514. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/sampler/__init__.py +0 -0
  515. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/sampler/base.py +0 -0
  516. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/sampler/hgt_sampler.py +0 -0
  517. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/sampler/neighbor_sampler.py +0 -0
  518. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/sampler/utils.py +0 -0
  519. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/seed.py +0 -0
  520. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/template.py +0 -0
  521. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/testing/__init__.py +0 -0
  522. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/testing/asserts.py +0 -0
  523. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/testing/data.py +0 -0
  524. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/testing/decorators.py +0 -0
  525. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/testing/distributed.py +0 -0
  526. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/testing/feature_store.py +0 -0
  527. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/testing/graph_store.py +0 -0
  528. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/__init__.py +0 -0
  529. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/add_gpse.py +0 -0
  530. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/add_metapaths.py +0 -0
  531. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/add_positional_encoding.py +0 -0
  532. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/add_remaining_self_loops.py +0 -0
  533. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/add_self_loops.py +0 -0
  534. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/base_transform.py +0 -0
  535. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/cartesian.py +0 -0
  536. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/center.py +0 -0
  537. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/compose.py +0 -0
  538. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/constant.py +0 -0
  539. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/delaunay.py +0 -0
  540. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/distance.py +0 -0
  541. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/face_to_edge.py +0 -0
  542. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/feature_propagation.py +0 -0
  543. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/fixed_points.py +0 -0
  544. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/gcn_norm.py +0 -0
  545. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/gdc.py +0 -0
  546. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/generate_mesh_normals.py +0 -0
  547. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/grid_sampling.py +0 -0
  548. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/half_hop.py +0 -0
  549. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/knn_graph.py +0 -0
  550. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/laplacian_lambda_max.py +0 -0
  551. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/largest_connected_components.py +0 -0
  552. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/line_graph.py +0 -0
  553. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/linear_transformation.py +0 -0
  554. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/local_cartesian.py +0 -0
  555. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/local_degree_profile.py +0 -0
  556. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/mask.py +0 -0
  557. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/node_property_split.py +0 -0
  558. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/normalize_features.py +0 -0
  559. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/normalize_rotation.py +0 -0
  560. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/normalize_scale.py +0 -0
  561. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/one_hot_degree.py +0 -0
  562. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/pad.py +0 -0
  563. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/point_pair_features.py +0 -0
  564. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/polar.py +0 -0
  565. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/radius_graph.py +0 -0
  566. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/random_flip.py +0 -0
  567. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/random_jitter.py +0 -0
  568. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/random_link_split.py +0 -0
  569. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/random_node_split.py +0 -0
  570. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/random_rotate.py +0 -0
  571. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/random_scale.py +0 -0
  572. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/random_shear.py +0 -0
  573. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/remove_duplicated_edges.py +0 -0
  574. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/remove_isolated_nodes.py +0 -0
  575. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/remove_self_loops.py +0 -0
  576. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/remove_training_classes.py +0 -0
  577. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/rooted_subgraph.py +0 -0
  578. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/sample_points.py +0 -0
  579. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/sign.py +0 -0
  580. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/spherical.py +0 -0
  581. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/svd_feature_reduction.py +0 -0
  582. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/target_indegree.py +0 -0
  583. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/to_dense.py +0 -0
  584. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/to_device.py +0 -0
  585. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/to_sparse_tensor.py +0 -0
  586. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/to_superpixels.py +0 -0
  587. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/to_undirected.py +0 -0
  588. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/two_hop.py +0 -0
  589. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/transforms/virtual_node.py +0 -0
  590. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/typing.py +0 -0
  591. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/__init__.py +0 -0
  592. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_assortativity.py +0 -0
  593. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_coalesce.py +0 -0
  594. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_degree.py +0 -0
  595. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_grid.py +0 -0
  596. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_homophily.py +0 -0
  597. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_index_sort.py +0 -0
  598. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_lexsort.py +0 -0
  599. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_negative_sampling.py +0 -0
  600. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_normalize_edge_index.py +0 -0
  601. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_normalized_cut.py +0 -0
  602. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_one_hot.py +0 -0
  603. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_scatter.py +0 -0
  604. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_segment.py +0 -0
  605. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_select.py +0 -0
  606. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_softmax.py +0 -0
  607. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_sort_edge_index.py +0 -0
  608. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_spmm.py +0 -0
  609. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_subgraph.py +0 -0
  610. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_to_dense_adj.py +0 -0
  611. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_to_dense_batch.py +0 -0
  612. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_train_test_split_edges.py +0 -0
  613. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_tree_decomposition.py +0 -0
  614. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_trim_to_layer.py +0 -0
  615. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/_unbatch.py +0 -0
  616. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/augmentation.py +0 -0
  617. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/convert.py +0 -0
  618. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/cross_entropy.py +0 -0
  619. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/dropout.py +0 -0
  620. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/embedding.py +0 -0
  621. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/functions.py +0 -0
  622. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/geodesic.py +0 -0
  623. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/hetero.py +0 -0
  624. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/isolated.py +0 -0
  625. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/laplacian.py +0 -0
  626. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/loop.py +0 -0
  627. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/map.py +0 -0
  628. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/mask.py +0 -0
  629. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/mesh_laplacian.py +0 -0
  630. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/mixin.py +0 -0
  631. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/nested.py +0 -0
  632. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/noise_scheduler.py +0 -0
  633. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/num_nodes.py +0 -0
  634. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/ppr.py +0 -0
  635. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/random.py +0 -0
  636. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/repeat.py +0 -0
  637. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/smiles.py +0 -0
  638. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/sparse.py +0 -0
  639. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/utils/undirected.py +0 -0
  640. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/visualization/__init__.py +0 -0
  641. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/visualization/graph.py +0 -0
  642. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/torch_geometric/visualization/influence.py +0 -0
  643. {pyg_nightly-2.7.0.dev20250422 → pyg_nightly-2.7.0.dev20250424}/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.dev20250422
3
+ Version: 2.7.0.dev20250424
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.dev20250422"
7
+ version="2.7.0.dev20250424"
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.dev20250422'
34
+ __version__ = '2.7.0.dev20250424'
35
35
 
36
36
  __all__ = [
37
37
  'Index',
@@ -0,0 +1,304 @@
1
+ import logging
2
+ from typing import Dict, List, Optional, Union, overload
3
+
4
+ import torch
5
+ from torch import Tensor
6
+
7
+ from torch_geometric.explain import Explanation, HeteroExplanation
8
+ from torch_geometric.explain.algorithm import ExplainerAlgorithm
9
+ from torch_geometric.explain.config import ExplanationType, ModelTaskLevel
10
+ from torch_geometric.nn.conv.message_passing import MessagePassing
11
+ from torch_geometric.typing import EdgeType, NodeType
12
+
13
+
14
+ class AttentionExplainer(ExplainerAlgorithm):
15
+ r"""An explainer that uses the attention coefficients produced by an
16
+ attention-based GNN (*e.g.*,
17
+ :class:`~torch_geometric.nn.conv.GATConv`,
18
+ :class:`~torch_geometric.nn.conv.GATv2Conv`, or
19
+ :class:`~torch_geometric.nn.conv.TransformerConv`) as edge explanation.
20
+ Attention scores across layers and heads will be aggregated according to
21
+ the :obj:`reduce` argument.
22
+
23
+ Args:
24
+ reduce (str, optional): The method to reduce the attention scores
25
+ across layers and heads. (default: :obj:`"max"`)
26
+ """
27
+ def __init__(self, reduce: str = 'max'):
28
+ super().__init__()
29
+ self.reduce = reduce
30
+ self.is_hetero = False
31
+
32
+ @overload
33
+ def forward(
34
+ self,
35
+ model: torch.nn.Module,
36
+ x: Tensor,
37
+ edge_index: Tensor,
38
+ *,
39
+ target: Tensor,
40
+ index: Optional[Union[int, Tensor]] = None,
41
+ **kwargs,
42
+ ) -> Explanation:
43
+ ...
44
+
45
+ @overload
46
+ def forward(
47
+ self,
48
+ model: torch.nn.Module,
49
+ x: Dict[NodeType, Tensor],
50
+ edge_index: Dict[EdgeType, Tensor],
51
+ *,
52
+ target: Tensor,
53
+ index: Optional[Union[int, Tensor]] = None,
54
+ **kwargs,
55
+ ) -> HeteroExplanation:
56
+ ...
57
+
58
+ def forward(
59
+ self,
60
+ model: torch.nn.Module,
61
+ x: Union[Tensor, Dict[NodeType, Tensor]],
62
+ edge_index: Union[Tensor, Dict[EdgeType, Tensor]],
63
+ *,
64
+ target: Tensor,
65
+ index: Optional[Union[int, Tensor]] = None,
66
+ **kwargs,
67
+ ) -> Union[Explanation, HeteroExplanation]:
68
+ """Generate explanations based on attention coefficients."""
69
+ self.is_hetero = isinstance(x, dict)
70
+
71
+ # Collect attention coefficients
72
+ alphas_dict = self._collect_attention_coefficients(
73
+ model, x, edge_index, **kwargs)
74
+
75
+ # Process attention coefficients
76
+ if self.is_hetero:
77
+ return self._create_hetero_explanation(model, alphas_dict,
78
+ edge_index, index, x)
79
+ else:
80
+ return self._create_homo_explanation(model, alphas_dict,
81
+ edge_index, index, x)
82
+
83
+ @overload
84
+ def _collect_attention_coefficients(
85
+ self,
86
+ model: torch.nn.Module,
87
+ x: Tensor,
88
+ edge_index: Tensor,
89
+ **kwargs,
90
+ ) -> List[Tensor]:
91
+ ...
92
+
93
+ @overload
94
+ def _collect_attention_coefficients(
95
+ self,
96
+ model: torch.nn.Module,
97
+ x: Dict[NodeType, Tensor],
98
+ edge_index: Dict[EdgeType, Tensor],
99
+ **kwargs,
100
+ ) -> Dict[EdgeType, List[Tensor]]:
101
+ ...
102
+
103
+ def _collect_attention_coefficients(
104
+ self,
105
+ model: torch.nn.Module,
106
+ x: Union[Tensor, Dict[NodeType, Tensor]],
107
+ edge_index: Union[Tensor, Dict[EdgeType, Tensor]],
108
+ **kwargs,
109
+ ) -> Union[List[Tensor], Dict[EdgeType, List[Tensor]]]:
110
+ """Collect attention coefficients from model layers."""
111
+ if self.is_hetero:
112
+ # For heterogeneous graphs, store alphas by edge type
113
+ alphas_dict: Dict[EdgeType, List[Tensor]] = {}
114
+
115
+ # Get list of edge types
116
+ edge_types = list(edge_index.keys())
117
+
118
+ # Hook function to capture attention coefficients by edge type
119
+ def hook(module, msg_kwargs, out):
120
+ # Find edge type from the module's full name
121
+ module_name = getattr(module, '_name', None)
122
+ if module_name is None:
123
+ return
124
+
125
+ edge_type = None
126
+ for edge_tuple in edge_types:
127
+ src_type, edge_name, dst_type = edge_tuple
128
+ # Check if all components appear in the module name in
129
+ # order
130
+ try:
131
+ src_idx = module_name.index(src_type)
132
+ edge_idx = module_name.index(edge_name, src_idx)
133
+ dst_idx = module_name.index(dst_type, edge_idx)
134
+ if src_idx < edge_idx < dst_idx:
135
+ edge_type = edge_tuple
136
+ break
137
+ except ValueError: # Component not found
138
+ continue
139
+
140
+ if edge_type is None:
141
+ return
142
+
143
+ if edge_type not in alphas_dict:
144
+ alphas_dict[edge_type] = []
145
+
146
+ # Extract alpha from message kwargs or module
147
+ if 'alpha' in msg_kwargs[0]:
148
+ alphas_dict[edge_type].append(
149
+ msg_kwargs[0]['alpha'].detach())
150
+ elif getattr(module, '_alpha', None) is not None:
151
+ alphas_dict[edge_type].append(module._alpha.detach())
152
+ else:
153
+ # For homogeneous graphs, store all alphas in a list
154
+ alphas: List[Tensor] = []
155
+
156
+ def hook(module, msg_kwargs, out):
157
+ if 'alpha' in msg_kwargs[0]:
158
+ alphas.append(msg_kwargs[0]['alpha'].detach())
159
+ elif getattr(module, '_alpha', None) is not None:
160
+ alphas.append(module._alpha.detach())
161
+
162
+ # Register hooks for all message passing modules
163
+ hook_handles = []
164
+ for name, module in model.named_modules():
165
+ if isinstance(module,
166
+ MessagePassing) and module.explain is not False:
167
+ # Store name for hetero graph lookup in the hook
168
+ if self.is_hetero:
169
+ module._name = name
170
+
171
+ hook_handles.append(module.register_message_forward_hook(hook))
172
+
173
+ # Forward pass to collect attention coefficients.
174
+ model(x, edge_index, **kwargs)
175
+
176
+ # Remove hooks
177
+ for handle in hook_handles:
178
+ handle.remove()
179
+
180
+ # Check if we collected any attention coefficients.
181
+ if self.is_hetero:
182
+ if not alphas_dict:
183
+ raise ValueError(
184
+ "Could not collect any attention coefficients. "
185
+ "Please ensure that your model is using "
186
+ "attention-based GNN layers.")
187
+ return alphas_dict
188
+ else:
189
+ if not alphas:
190
+ raise ValueError(
191
+ "Could not collect any attention coefficients. "
192
+ "Please ensure that your model is using "
193
+ "attention-based GNN layers.")
194
+ return alphas
195
+
196
+ def _process_attention_coefficients(
197
+ self,
198
+ alphas: List[Tensor],
199
+ edge_index_size: int,
200
+ ) -> Tensor:
201
+ """Process collected attention coefficients into a single mask."""
202
+ for i, alpha in enumerate(alphas):
203
+ # Ensure alpha doesn't exceed edge_index size
204
+ alpha = alpha[:edge_index_size]
205
+
206
+ # Reduce multi-head attention
207
+ if alpha.dim() == 2:
208
+ alpha = getattr(torch, self.reduce)(alpha, dim=-1)
209
+ if isinstance(alpha, tuple): # Handle torch.max output
210
+ alpha = alpha[0]
211
+ elif alpha.dim() > 2:
212
+ raise ValueError(f"Cannot reduce attention coefficients of "
213
+ f"shape {list(alpha.size())}")
214
+ alphas[i] = alpha
215
+
216
+ # Combine attention coefficients across layers
217
+ if len(alphas) > 1:
218
+ alpha = torch.stack(alphas, dim=-1)
219
+ alpha = getattr(torch, self.reduce)(alpha, dim=-1)
220
+ if isinstance(alpha, tuple): # Handle torch.max output
221
+ alpha = alpha[0]
222
+ else:
223
+ alpha = alphas[0]
224
+
225
+ return alpha
226
+
227
+ def _create_homo_explanation(
228
+ self,
229
+ model: torch.nn.Module,
230
+ alphas: List[Tensor],
231
+ edge_index: Tensor,
232
+ index: Optional[Union[int, Tensor]],
233
+ x: Tensor,
234
+ ) -> Explanation:
235
+ """Create explanation for homogeneous graph."""
236
+ # Get hard edge mask for node-level tasks
237
+ hard_edge_mask = None
238
+ if self.model_config.task_level == ModelTaskLevel.node:
239
+ _, hard_edge_mask = self._get_hard_masks(model, index, edge_index,
240
+ num_nodes=x.size(0))
241
+
242
+ # Process attention coefficients
243
+ alpha = self._process_attention_coefficients(alphas,
244
+ edge_index.size(1))
245
+
246
+ # Post-process mask with hard edge mask if needed
247
+ alpha = self._post_process_mask(alpha, hard_edge_mask,
248
+ apply_sigmoid=False)
249
+
250
+ return Explanation(edge_mask=alpha)
251
+
252
+ def _create_hetero_explanation(
253
+ self,
254
+ model: torch.nn.Module,
255
+ alphas_dict: Dict[EdgeType, List[Tensor]],
256
+ edge_index: Dict[EdgeType, Tensor],
257
+ index: Optional[Union[int, Tensor]],
258
+ x: Dict[NodeType, Tensor],
259
+ ) -> HeteroExplanation:
260
+ """Create explanation for heterogeneous graph."""
261
+ edge_masks_dict = {}
262
+
263
+ # Process each edge type separately
264
+ for edge_type, alphas in alphas_dict.items():
265
+ if not alphas:
266
+ continue
267
+
268
+ # Get hard edge mask for node-level tasks
269
+ hard_edge_mask = None
270
+ if self.model_config.task_level == ModelTaskLevel.node:
271
+ src_type, _, dst_type = edge_type
272
+ _, hard_edge_mask = self._get_hard_masks(
273
+ model, index, edge_index[edge_type],
274
+ num_nodes=max(x[src_type].size(0), x[dst_type].size(0)))
275
+
276
+ # Process attention coefficients for this edge type
277
+ alpha = self._process_attention_coefficients(
278
+ alphas, edge_index[edge_type].size(1))
279
+
280
+ # Apply hard mask if available
281
+ edge_masks_dict[edge_type] = self._post_process_mask(
282
+ alpha, hard_edge_mask, apply_sigmoid=False)
283
+
284
+ # Create heterogeneous explanation
285
+ explanation = HeteroExplanation()
286
+ explanation.set_value_dict('edge_mask', edge_masks_dict)
287
+ return explanation
288
+
289
+ def supports(self) -> bool:
290
+ explanation_type = self.explainer_config.explanation_type
291
+ if explanation_type != ExplanationType.model:
292
+ logging.error(f"'{self.__class__.__name__}' only supports "
293
+ f"model explanations "
294
+ f"got (`explanation_type={explanation_type.value}`)")
295
+ return False
296
+
297
+ node_mask_type = self.explainer_config.node_mask_type
298
+ if node_mask_type is not None:
299
+ logging.error(f"'{self.__class__.__name__}' does not support "
300
+ f"explaining input node features "
301
+ f"got (`node_mask_type={node_mask_type.value}`)")
302
+ return False
303
+
304
+ return True
@@ -1,114 +0,0 @@
1
- import logging
2
- from typing import List, Optional, Union
3
-
4
- import torch
5
- from torch import Tensor
6
-
7
- from torch_geometric.explain import Explanation
8
- from torch_geometric.explain.algorithm import ExplainerAlgorithm
9
- from torch_geometric.explain.config import ExplanationType, ModelTaskLevel
10
- from torch_geometric.nn.conv.message_passing import MessagePassing
11
-
12
-
13
- class AttentionExplainer(ExplainerAlgorithm):
14
- r"""An explainer that uses the attention coefficients produced by an
15
- attention-based GNN (*e.g.*,
16
- :class:`~torch_geometric.nn.conv.GATConv`,
17
- :class:`~torch_geometric.nn.conv.GATv2Conv`, or
18
- :class:`~torch_geometric.nn.conv.TransformerConv`) as edge explanation.
19
- Attention scores across layers and heads will be aggregated according to
20
- the :obj:`reduce` argument.
21
-
22
- Args:
23
- reduce (str, optional): The method to reduce the attention scores
24
- across layers and heads. (default: :obj:`"max"`)
25
- """
26
- def __init__(self, reduce: str = 'max'):
27
- super().__init__()
28
- self.reduce = reduce
29
-
30
- def forward(
31
- self,
32
- model: torch.nn.Module,
33
- x: Tensor,
34
- edge_index: Tensor,
35
- *,
36
- target: Tensor,
37
- index: Optional[Union[int, Tensor]] = None,
38
- **kwargs,
39
- ) -> Explanation:
40
- if isinstance(x, dict) or isinstance(edge_index, dict):
41
- raise ValueError(f"Heterogeneous graphs not yet supported in "
42
- f"'{self.__class__.__name__}'")
43
-
44
- hard_edge_mask = None
45
- if self.model_config.task_level == ModelTaskLevel.node:
46
- # We need to compute the hard edge mask to properly clean up edge
47
- # attributions not involved during message passing:
48
- _, hard_edge_mask = self._get_hard_masks(model, index, edge_index,
49
- num_nodes=x.size(0))
50
-
51
- alphas: List[Tensor] = []
52
-
53
- def hook(module, msg_kwargs, out):
54
- if 'alpha' in msg_kwargs[0]:
55
- alphas.append(msg_kwargs[0]['alpha'].detach())
56
- elif getattr(module, '_alpha', None) is not None:
57
- alphas.append(module._alpha.detach())
58
-
59
- hook_handles = []
60
- for module in model.modules(): # Register message forward hooks:
61
- if (isinstance(module, MessagePassing)
62
- and module.explain is not False):
63
- hook_handles.append(module.register_message_forward_hook(hook))
64
-
65
- model(x, edge_index, **kwargs)
66
-
67
- for handle in hook_handles: # Remove hooks:
68
- handle.remove()
69
-
70
- if len(alphas) == 0:
71
- raise ValueError("Could not collect any attention coefficients. "
72
- "Please ensure that your model is using "
73
- "attention-based GNN layers.")
74
-
75
- for i, alpha in enumerate(alphas):
76
- alpha = alpha[:edge_index.size(1)] # Respect potential self-loops.
77
- if alpha.dim() == 2:
78
- alpha = getattr(torch, self.reduce)(alpha, dim=-1)
79
- if isinstance(alpha, tuple): # Respect `torch.max`:
80
- alpha = alpha[0]
81
- elif alpha.dim() > 2:
82
- raise ValueError(f"Can not reduce attention coefficients of "
83
- f"shape {list(alpha.size())}")
84
- alphas[i] = alpha
85
-
86
- if len(alphas) > 1:
87
- alpha = torch.stack(alphas, dim=-1)
88
- alpha = getattr(torch, self.reduce)(alpha, dim=-1)
89
- if isinstance(alpha, tuple): # Respect `torch.max`:
90
- alpha = alpha[0]
91
- else:
92
- alpha = alphas[0]
93
-
94
- alpha = self._post_process_mask(alpha, hard_edge_mask,
95
- apply_sigmoid=False)
96
-
97
- return Explanation(edge_mask=alpha)
98
-
99
- def supports(self) -> bool:
100
- explanation_type = self.explainer_config.explanation_type
101
- if explanation_type != ExplanationType.model:
102
- logging.error(f"'{self.__class__.__name__}' only supports "
103
- f"model explanations "
104
- f"got (`explanation_type={explanation_type.value}`)")
105
- return False
106
-
107
- node_mask_type = self.explainer_config.node_mask_type
108
- if node_mask_type is not None:
109
- logging.error(f"'{self.__class__.__name__}' does not support "
110
- f"explaining input node features "
111
- f"got (`node_mask_type={node_mask_type.value}`)")
112
- return False
113
-
114
- return True