pyg-nightly 2.7.0.dev20241124__tar.gz → 2.7.0.dev20241125__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 (631) hide show
  1. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/PKG-INFO +1 -1
  2. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/pyproject.toml +1 -1
  3. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/__init__.py +1 -1
  4. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/__init__.py +2 -0
  5. pyg_nightly-2.7.0.dev20241125/torch_geometric/datasets/git_mol_dataset.py +263 -0
  6. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/__init__.py +2 -0
  7. pyg_nightly-2.7.0.dev20241125/torch_geometric/nn/models/git_mol.py +336 -0
  8. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/nlp/__init__.py +2 -0
  9. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/nlp/sentence_transformer.py +30 -0
  10. pyg_nightly-2.7.0.dev20241125/torch_geometric/nn/nlp/vision_transformer.py +33 -0
  11. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/README.md +0 -0
  12. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/_compile.py +0 -0
  13. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/_onnx.py +0 -0
  14. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/backend.py +0 -0
  15. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/config_mixin.py +0 -0
  16. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/config_store.py +0 -0
  17. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/contrib/__init__.py +0 -0
  18. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/contrib/datasets/__init__.py +0 -0
  19. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/contrib/explain/__init__.py +0 -0
  20. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/contrib/explain/pgm_explainer.py +0 -0
  21. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/contrib/nn/__init__.py +0 -0
  22. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/contrib/nn/conv/__init__.py +0 -0
  23. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/contrib/nn/models/__init__.py +0 -0
  24. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/contrib/nn/models/rbcd_attack.py +0 -0
  25. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/contrib/transforms/__init__.py +0 -0
  26. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/__init__.py +0 -0
  27. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/batch.py +0 -0
  28. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/collate.py +0 -0
  29. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/data.py +0 -0
  30. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/database.py +0 -0
  31. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/datapipes.py +0 -0
  32. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/dataset.py +0 -0
  33. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/download.py +0 -0
  34. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/extract.py +0 -0
  35. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/feature_store.py +0 -0
  36. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/graph_store.py +0 -0
  37. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/hetero_data.py +0 -0
  38. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/hypergraph_data.py +0 -0
  39. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/in_memory_dataset.py +0 -0
  40. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/lightning/__init__.py +0 -0
  41. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/lightning/datamodule.py +0 -0
  42. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/makedirs.py +0 -0
  43. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/on_disk_dataset.py +0 -0
  44. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/remote_backend_utils.py +0 -0
  45. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/separate.py +0 -0
  46. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/storage.py +0 -0
  47. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/summary.py +0 -0
  48. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/temporal.py +0 -0
  49. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/data/view.py +0 -0
  50. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/actor.py +0 -0
  51. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/airfrans.py +0 -0
  52. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/airports.py +0 -0
  53. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/amazon.py +0 -0
  54. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/amazon_book.py +0 -0
  55. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/amazon_products.py +0 -0
  56. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/aminer.py +0 -0
  57. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/aqsol.py +0 -0
  58. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/attributed_graph_dataset.py +0 -0
  59. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/ba2motif_dataset.py +0 -0
  60. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/ba_multi_shapes.py +0 -0
  61. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/ba_shapes.py +0 -0
  62. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/bitcoin_otc.py +0 -0
  63. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/brca_tgca.py +0 -0
  64. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/citation_full.py +0 -0
  65. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/coauthor.py +0 -0
  66. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/coma.py +0 -0
  67. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/cornell.py +0 -0
  68. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/dblp.py +0 -0
  69. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/dbp15k.py +0 -0
  70. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/deezer_europe.py +0 -0
  71. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/dgraph.py +0 -0
  72. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/dynamic_faust.py +0 -0
  73. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/elliptic.py +0 -0
  74. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/elliptic_temporal.py +0 -0
  75. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/email_eu_core.py +0 -0
  76. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/entities.py +0 -0
  77. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/explainer_dataset.py +0 -0
  78. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/facebook.py +0 -0
  79. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/fake.py +0 -0
  80. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/faust.py +0 -0
  81. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/flickr.py +0 -0
  82. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/freebase.py +0 -0
  83. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/gdelt.py +0 -0
  84. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/gdelt_lite.py +0 -0
  85. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/ged_dataset.py +0 -0
  86. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/gemsec.py +0 -0
  87. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/geometry.py +0 -0
  88. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/github.py +0 -0
  89. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/gnn_benchmark_dataset.py +0 -0
  90. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/graph_generator/__init__.py +0 -0
  91. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/graph_generator/ba_graph.py +0 -0
  92. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/graph_generator/base.py +0 -0
  93. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/graph_generator/er_graph.py +0 -0
  94. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/graph_generator/grid_graph.py +0 -0
  95. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/graph_generator/tree_graph.py +0 -0
  96. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/heterophilous_graph_dataset.py +0 -0
  97. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/hgb_dataset.py +0 -0
  98. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/hm.py +0 -0
  99. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/hydro_net.py +0 -0
  100. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/icews.py +0 -0
  101. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/igmc_dataset.py +0 -0
  102. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/imdb.py +0 -0
  103. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/infection_dataset.py +0 -0
  104. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/jodie.py +0 -0
  105. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/karate.py +0 -0
  106. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/last_fm.py +0 -0
  107. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/lastfm_asia.py +0 -0
  108. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/linkx_dataset.py +0 -0
  109. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/lrgb.py +0 -0
  110. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/malnet_tiny.py +0 -0
  111. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/md17.py +0 -0
  112. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/mixhop_synthetic_dataset.py +0 -0
  113. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/mnist_superpixels.py +0 -0
  114. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/modelnet.py +0 -0
  115. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/molecule_gpt_dataset.py +0 -0
  116. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/molecule_net.py +0 -0
  117. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/motif_generator/__init__.py +0 -0
  118. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/motif_generator/base.py +0 -0
  119. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/motif_generator/custom.py +0 -0
  120. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/motif_generator/cycle.py +0 -0
  121. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/motif_generator/grid.py +0 -0
  122. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/motif_generator/house.py +0 -0
  123. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/movie_lens.py +0 -0
  124. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/movie_lens_100k.py +0 -0
  125. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/movie_lens_1m.py +0 -0
  126. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/myket.py +0 -0
  127. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/nell.py +0 -0
  128. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/neurograph.py +0 -0
  129. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/ogb_mag.py +0 -0
  130. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/omdb.py +0 -0
  131. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/opf.py +0 -0
  132. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/ose_gvcs.py +0 -0
  133. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/particle.py +0 -0
  134. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/pascal.py +0 -0
  135. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/pascal_pf.py +0 -0
  136. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/pcpnet_dataset.py +0 -0
  137. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/pcqm4m.py +0 -0
  138. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/planetoid.py +0 -0
  139. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/polblogs.py +0 -0
  140. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/ppi.py +0 -0
  141. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/qm7.py +0 -0
  142. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/qm9.py +0 -0
  143. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/rcdd.py +0 -0
  144. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/reddit.py +0 -0
  145. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/reddit2.py +0 -0
  146. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/rel_link_pred_dataset.py +0 -0
  147. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/s3dis.py +0 -0
  148. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/sbm_dataset.py +0 -0
  149. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/shapenet.py +0 -0
  150. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/shrec2016.py +0 -0
  151. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/snap_dataset.py +0 -0
  152. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/suite_sparse.py +0 -0
  153. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/tag_dataset.py +0 -0
  154. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/taobao.py +0 -0
  155. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/tosca.py +0 -0
  156. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/tu_dataset.py +0 -0
  157. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/twitch.py +0 -0
  158. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/upfd.py +0 -0
  159. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/utils/__init__.py +0 -0
  160. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/utils/cheatsheet.py +0 -0
  161. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/web_qsp_dataset.py +0 -0
  162. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/webkb.py +0 -0
  163. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/wikics.py +0 -0
  164. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/wikidata.py +0 -0
  165. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/wikipedia_network.py +0 -0
  166. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/willow_object_class.py +0 -0
  167. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/word_net.py +0 -0
  168. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/yelp.py +0 -0
  169. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/datasets/zinc.py +0 -0
  170. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/debug.py +0 -0
  171. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/deprecation.py +0 -0
  172. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/device.py +0 -0
  173. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/distributed/__init__.py +0 -0
  174. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/distributed/dist_context.py +0 -0
  175. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/distributed/dist_link_neighbor_loader.py +0 -0
  176. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/distributed/dist_loader.py +0 -0
  177. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/distributed/dist_neighbor_loader.py +0 -0
  178. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/distributed/dist_neighbor_sampler.py +0 -0
  179. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/distributed/event_loop.py +0 -0
  180. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/distributed/local_feature_store.py +0 -0
  181. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/distributed/local_graph_store.py +0 -0
  182. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/distributed/partition.py +0 -0
  183. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/distributed/rpc.py +0 -0
  184. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/distributed/utils.py +0 -0
  185. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/edge_index.py +0 -0
  186. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/experimental.py +0 -0
  187. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/explain/__init__.py +0 -0
  188. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/explain/algorithm/__init__.py +0 -0
  189. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/explain/algorithm/attention_explainer.py +0 -0
  190. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/explain/algorithm/base.py +0 -0
  191. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/explain/algorithm/captum.py +0 -0
  192. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/explain/algorithm/captum_explainer.py +0 -0
  193. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/explain/algorithm/dummy_explainer.py +0 -0
  194. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/explain/algorithm/gnn_explainer.py +0 -0
  195. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/explain/algorithm/graphmask_explainer.py +0 -0
  196. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/explain/algorithm/pg_explainer.py +0 -0
  197. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/explain/algorithm/utils.py +0 -0
  198. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/explain/config.py +0 -0
  199. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/explain/explainer.py +0 -0
  200. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/explain/explanation.py +0 -0
  201. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/explain/metric/__init__.py +0 -0
  202. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/explain/metric/basic.py +0 -0
  203. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/explain/metric/faithfulness.py +0 -0
  204. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/explain/metric/fidelity.py +0 -0
  205. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/__init__.py +0 -0
  206. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/benchmark.py +0 -0
  207. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/checkpoint.py +0 -0
  208. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/cmd_args.py +0 -0
  209. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/config.py +0 -0
  210. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/contrib/__init__.py +0 -0
  211. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/contrib/act/__init__.py +0 -0
  212. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/contrib/config/__init__.py +0 -0
  213. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/contrib/encoder/__init__.py +0 -0
  214. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/contrib/head/__init__.py +0 -0
  215. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/contrib/layer/__init__.py +0 -0
  216. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/contrib/layer/generalconv.py +0 -0
  217. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/contrib/loader/__init__.py +0 -0
  218. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/contrib/loss/__init__.py +0 -0
  219. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/contrib/network/__init__.py +0 -0
  220. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/contrib/optimizer/__init__.py +0 -0
  221. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/contrib/pooling/__init__.py +0 -0
  222. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/contrib/stage/__init__.py +0 -0
  223. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/contrib/train/__init__.py +0 -0
  224. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/contrib/transform/__init__.py +0 -0
  225. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/imports.py +0 -0
  226. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/init.py +0 -0
  227. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/loader.py +0 -0
  228. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/logger.py +0 -0
  229. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/loss.py +0 -0
  230. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/model_builder.py +0 -0
  231. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/models/__init__.py +0 -0
  232. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/models/act.py +0 -0
  233. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/models/encoder.py +0 -0
  234. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/models/gnn.py +0 -0
  235. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/models/head.py +0 -0
  236. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/models/layer.py +0 -0
  237. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/models/pooling.py +0 -0
  238. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/models/transform.py +0 -0
  239. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/optim.py +0 -0
  240. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/register.py +0 -0
  241. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/train.py +0 -0
  242. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/utils/LICENSE +0 -0
  243. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/utils/__init__.py +0 -0
  244. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/utils/agg_runs.py +0 -0
  245. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/utils/comp_budget.py +0 -0
  246. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/utils/device.py +0 -0
  247. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/utils/epoch.py +0 -0
  248. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/utils/io.py +0 -0
  249. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/utils/plot.py +0 -0
  250. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/graphgym/utils/tools.py +0 -0
  251. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/home.py +0 -0
  252. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/index.py +0 -0
  253. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/inspector.py +0 -0
  254. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/io/__init__.py +0 -0
  255. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/io/fs.py +0 -0
  256. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/io/npz.py +0 -0
  257. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/io/obj.py +0 -0
  258. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/io/off.py +0 -0
  259. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/io/planetoid.py +0 -0
  260. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/io/ply.py +0 -0
  261. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/io/sdf.py +0 -0
  262. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/io/tu.py +0 -0
  263. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/io/txt_array.py +0 -0
  264. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/isinstance.py +0 -0
  265. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/lazy_loader.py +0 -0
  266. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/__init__.py +0 -0
  267. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/base.py +0 -0
  268. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/cache.py +0 -0
  269. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/cluster.py +0 -0
  270. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/data_list_loader.py +0 -0
  271. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/dataloader.py +0 -0
  272. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/dense_data_loader.py +0 -0
  273. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/dynamic_batch_sampler.py +0 -0
  274. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/graph_saint.py +0 -0
  275. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/hgt_loader.py +0 -0
  276. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/ibmb_loader.py +0 -0
  277. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/imbalanced_sampler.py +0 -0
  278. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/link_loader.py +0 -0
  279. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/link_neighbor_loader.py +0 -0
  280. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/mixin.py +0 -0
  281. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/neighbor_loader.py +0 -0
  282. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/neighbor_sampler.py +0 -0
  283. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/node_loader.py +0 -0
  284. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/prefetch.py +0 -0
  285. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/random_node_loader.py +0 -0
  286. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/shadow.py +0 -0
  287. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/temporal_dataloader.py +0 -0
  288. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/utils.py +0 -0
  289. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/loader/zip_loader.py +0 -0
  290. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/logging.py +0 -0
  291. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/metrics/__init__.py +0 -0
  292. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/metrics/link_pred.py +0 -0
  293. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/__init__.py +0 -0
  294. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/aggr/__init__.py +0 -0
  295. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/aggr/attention.py +0 -0
  296. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/aggr/base.py +0 -0
  297. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/aggr/basic.py +0 -0
  298. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/aggr/deep_sets.py +0 -0
  299. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/aggr/equilibrium.py +0 -0
  300. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/aggr/fused.py +0 -0
  301. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/aggr/gmt.py +0 -0
  302. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/aggr/gru.py +0 -0
  303. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/aggr/lcm.py +0 -0
  304. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/aggr/lstm.py +0 -0
  305. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/aggr/mlp.py +0 -0
  306. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/aggr/multi.py +0 -0
  307. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/aggr/patch_transformer.py +0 -0
  308. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/aggr/quantile.py +0 -0
  309. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/aggr/scaler.py +0 -0
  310. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/aggr/set2set.py +0 -0
  311. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/aggr/set_transformer.py +0 -0
  312. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/aggr/sort.py +0 -0
  313. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/aggr/utils.py +0 -0
  314. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/aggr/variance_preserving.py +0 -0
  315. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/attention/__init__.py +0 -0
  316. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/attention/performer.py +0 -0
  317. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/attention/qformer.py +0 -0
  318. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/__init__.py +0 -0
  319. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/agnn_conv.py +0 -0
  320. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/antisymmetric_conv.py +0 -0
  321. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/appnp.py +0 -0
  322. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/arma_conv.py +0 -0
  323. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/cg_conv.py +0 -0
  324. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/cheb_conv.py +0 -0
  325. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/cluster_gcn_conv.py +0 -0
  326. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/collect.jinja +0 -0
  327. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/cugraph/__init__.py +0 -0
  328. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/cugraph/base.py +0 -0
  329. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/cugraph/gat_conv.py +0 -0
  330. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/cugraph/rgcn_conv.py +0 -0
  331. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/cugraph/sage_conv.py +0 -0
  332. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/dir_gnn_conv.py +0 -0
  333. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/dna_conv.py +0 -0
  334. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/edge_conv.py +0 -0
  335. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/edge_updater.jinja +0 -0
  336. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/eg_conv.py +0 -0
  337. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/fa_conv.py +0 -0
  338. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/feast_conv.py +0 -0
  339. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/film_conv.py +0 -0
  340. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/fused_gat_conv.py +0 -0
  341. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/gat_conv.py +0 -0
  342. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/gated_graph_conv.py +0 -0
  343. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/gatv2_conv.py +0 -0
  344. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/gcn2_conv.py +0 -0
  345. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/gcn_conv.py +0 -0
  346. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/gen_conv.py +0 -0
  347. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/general_conv.py +0 -0
  348. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/gin_conv.py +0 -0
  349. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/gmm_conv.py +0 -0
  350. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/gps_conv.py +0 -0
  351. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/graph_conv.py +0 -0
  352. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/gravnet_conv.py +0 -0
  353. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/han_conv.py +0 -0
  354. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/heat_conv.py +0 -0
  355. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/hetero_conv.py +0 -0
  356. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/hgt_conv.py +0 -0
  357. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/hypergraph_conv.py +0 -0
  358. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/le_conv.py +0 -0
  359. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/lg_conv.py +0 -0
  360. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/message_passing.py +0 -0
  361. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/mf_conv.py +0 -0
  362. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/mixhop_conv.py +0 -0
  363. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/nn_conv.py +0 -0
  364. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/pan_conv.py +0 -0
  365. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/pdn_conv.py +0 -0
  366. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/pna_conv.py +0 -0
  367. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/point_conv.py +0 -0
  368. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/point_gnn_conv.py +0 -0
  369. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/point_transformer_conv.py +0 -0
  370. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/ppf_conv.py +0 -0
  371. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/propagate.jinja +0 -0
  372. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/res_gated_graph_conv.py +0 -0
  373. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/rgat_conv.py +0 -0
  374. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/rgcn_conv.py +0 -0
  375. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/sage_conv.py +0 -0
  376. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/sg_conv.py +0 -0
  377. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/signed_conv.py +0 -0
  378. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/simple_conv.py +0 -0
  379. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/spline_conv.py +0 -0
  380. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/ssg_conv.py +0 -0
  381. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/supergat_conv.py +0 -0
  382. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/tag_conv.py +0 -0
  383. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/transformer_conv.py +0 -0
  384. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/utils/__init__.py +0 -0
  385. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/utils/cheatsheet.py +0 -0
  386. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/wl_conv.py +0 -0
  387. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/wl_conv_continuous.py +0 -0
  388. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/conv/x_conv.py +0 -0
  389. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/data_parallel.py +0 -0
  390. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/dense/__init__.py +0 -0
  391. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/dense/dense_gat_conv.py +0 -0
  392. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/dense/dense_gcn_conv.py +0 -0
  393. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/dense/dense_gin_conv.py +0 -0
  394. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/dense/dense_graph_conv.py +0 -0
  395. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/dense/dense_sage_conv.py +0 -0
  396. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/dense/diff_pool.py +0 -0
  397. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/dense/dmon_pool.py +0 -0
  398. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/dense/linear.py +0 -0
  399. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/dense/mincut_pool.py +0 -0
  400. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/encoding.py +0 -0
  401. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/functional/__init__.py +0 -0
  402. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/functional/bro.py +0 -0
  403. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/functional/gini.py +0 -0
  404. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/fx.py +0 -0
  405. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/glob.py +0 -0
  406. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/inits.py +0 -0
  407. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/kge/__init__.py +0 -0
  408. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/kge/base.py +0 -0
  409. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/kge/complex.py +0 -0
  410. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/kge/distmult.py +0 -0
  411. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/kge/loader.py +0 -0
  412. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/kge/rotate.py +0 -0
  413. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/kge/transe.py +0 -0
  414. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/lr_scheduler.py +0 -0
  415. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/model_hub.py +0 -0
  416. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/attentive_fp.py +0 -0
  417. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/autoencoder.py +0 -0
  418. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/basic_gnn.py +0 -0
  419. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/captum.py +0 -0
  420. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/correct_and_smooth.py +0 -0
  421. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/deep_graph_infomax.py +0 -0
  422. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/deepgcn.py +0 -0
  423. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/dimenet.py +0 -0
  424. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/dimenet_utils.py +0 -0
  425. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/g_retriever.py +0 -0
  426. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/glem.py +0 -0
  427. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/gnnff.py +0 -0
  428. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/graph_mixer.py +0 -0
  429. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/graph_unet.py +0 -0
  430. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/jumping_knowledge.py +0 -0
  431. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/label_prop.py +0 -0
  432. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/lightgcn.py +0 -0
  433. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/linkx.py +0 -0
  434. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/mask_label.py +0 -0
  435. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/meta.py +0 -0
  436. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/metapath2vec.py +0 -0
  437. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/mlp.py +0 -0
  438. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/molecule_gpt.py +0 -0
  439. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/neural_fingerprint.py +0 -0
  440. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/node2vec.py +0 -0
  441. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/pmlp.py +0 -0
  442. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/re_net.py +0 -0
  443. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/rect.py +0 -0
  444. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/rev_gnn.py +0 -0
  445. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/schnet.py +0 -0
  446. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/signed_gcn.py +0 -0
  447. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/tgn.py +0 -0
  448. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/models/visnet.py +0 -0
  449. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/module_dict.py +0 -0
  450. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/nlp/llm.py +0 -0
  451. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/norm/__init__.py +0 -0
  452. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/norm/batch_norm.py +0 -0
  453. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/norm/diff_group_norm.py +0 -0
  454. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/norm/graph_norm.py +0 -0
  455. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/norm/graph_size_norm.py +0 -0
  456. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/norm/instance_norm.py +0 -0
  457. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/norm/layer_norm.py +0 -0
  458. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/norm/mean_subtraction_norm.py +0 -0
  459. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/norm/msg_norm.py +0 -0
  460. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/norm/pair_norm.py +0 -0
  461. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/parameter_dict.py +0 -0
  462. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/__init__.py +0 -0
  463. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/approx_knn.py +0 -0
  464. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/asap.py +0 -0
  465. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/avg_pool.py +0 -0
  466. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/cluster_pool.py +0 -0
  467. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/connect/__init__.py +0 -0
  468. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/connect/base.py +0 -0
  469. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/connect/filter_edges.py +0 -0
  470. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/consecutive.py +0 -0
  471. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/decimation.py +0 -0
  472. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/edge_pool.py +0 -0
  473. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/glob.py +0 -0
  474. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/graclus.py +0 -0
  475. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/knn.py +0 -0
  476. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/max_pool.py +0 -0
  477. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/mem_pool.py +0 -0
  478. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/pan_pool.py +0 -0
  479. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/pool.py +0 -0
  480. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/sag_pool.py +0 -0
  481. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/select/__init__.py +0 -0
  482. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/select/base.py +0 -0
  483. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/select/topk.py +0 -0
  484. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/topk_pool.py +0 -0
  485. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/pool/voxel_grid.py +0 -0
  486. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/reshape.py +0 -0
  487. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/resolver.py +0 -0
  488. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/sequential.jinja +0 -0
  489. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/sequential.py +0 -0
  490. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/summary.py +0 -0
  491. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/to_fixed_size_transformer.py +0 -0
  492. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/to_hetero_module.py +0 -0
  493. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/to_hetero_transformer.py +0 -0
  494. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/to_hetero_with_bases_transformer.py +0 -0
  495. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/unpool/__init__.py +0 -0
  496. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/nn/unpool/knn_interpolate.py +0 -0
  497. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/profile/__init__.py +0 -0
  498. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/profile/benchmark.py +0 -0
  499. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/profile/profile.py +0 -0
  500. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/profile/profiler.py +0 -0
  501. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/profile/utils.py +0 -0
  502. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/resolver.py +0 -0
  503. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/sampler/__init__.py +0 -0
  504. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/sampler/base.py +0 -0
  505. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/sampler/hgt_sampler.py +0 -0
  506. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/sampler/neighbor_sampler.py +0 -0
  507. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/sampler/utils.py +0 -0
  508. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/seed.py +0 -0
  509. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/template.py +0 -0
  510. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/testing/__init__.py +0 -0
  511. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/testing/asserts.py +0 -0
  512. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/testing/data.py +0 -0
  513. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/testing/decorators.py +0 -0
  514. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/testing/distributed.py +0 -0
  515. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/testing/feature_store.py +0 -0
  516. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/testing/graph_store.py +0 -0
  517. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/__init__.py +0 -0
  518. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/add_metapaths.py +0 -0
  519. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/add_positional_encoding.py +0 -0
  520. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/add_remaining_self_loops.py +0 -0
  521. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/add_self_loops.py +0 -0
  522. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/base_transform.py +0 -0
  523. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/cartesian.py +0 -0
  524. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/center.py +0 -0
  525. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/compose.py +0 -0
  526. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/constant.py +0 -0
  527. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/delaunay.py +0 -0
  528. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/distance.py +0 -0
  529. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/face_to_edge.py +0 -0
  530. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/feature_propagation.py +0 -0
  531. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/fixed_points.py +0 -0
  532. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/gcn_norm.py +0 -0
  533. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/gdc.py +0 -0
  534. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/generate_mesh_normals.py +0 -0
  535. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/grid_sampling.py +0 -0
  536. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/half_hop.py +0 -0
  537. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/knn_graph.py +0 -0
  538. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/laplacian_lambda_max.py +0 -0
  539. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/largest_connected_components.py +0 -0
  540. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/line_graph.py +0 -0
  541. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/linear_transformation.py +0 -0
  542. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/local_cartesian.py +0 -0
  543. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/local_degree_profile.py +0 -0
  544. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/mask.py +0 -0
  545. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/node_property_split.py +0 -0
  546. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/normalize_features.py +0 -0
  547. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/normalize_rotation.py +0 -0
  548. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/normalize_scale.py +0 -0
  549. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/one_hot_degree.py +0 -0
  550. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/pad.py +0 -0
  551. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/point_pair_features.py +0 -0
  552. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/polar.py +0 -0
  553. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/radius_graph.py +0 -0
  554. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/random_flip.py +0 -0
  555. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/random_jitter.py +0 -0
  556. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/random_link_split.py +0 -0
  557. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/random_node_split.py +0 -0
  558. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/random_rotate.py +0 -0
  559. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/random_scale.py +0 -0
  560. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/random_shear.py +0 -0
  561. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/remove_duplicated_edges.py +0 -0
  562. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/remove_isolated_nodes.py +0 -0
  563. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/remove_self_loops.py +0 -0
  564. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/remove_training_classes.py +0 -0
  565. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/rooted_subgraph.py +0 -0
  566. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/sample_points.py +0 -0
  567. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/sign.py +0 -0
  568. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/spherical.py +0 -0
  569. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/svd_feature_reduction.py +0 -0
  570. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/target_indegree.py +0 -0
  571. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/to_dense.py +0 -0
  572. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/to_device.py +0 -0
  573. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/to_sparse_tensor.py +0 -0
  574. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/to_superpixels.py +0 -0
  575. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/to_undirected.py +0 -0
  576. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/two_hop.py +0 -0
  577. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/transforms/virtual_node.py +0 -0
  578. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/typing.py +0 -0
  579. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/__init__.py +0 -0
  580. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_assortativity.py +0 -0
  581. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_coalesce.py +0 -0
  582. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_degree.py +0 -0
  583. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_grid.py +0 -0
  584. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_homophily.py +0 -0
  585. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_index_sort.py +0 -0
  586. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_lexsort.py +0 -0
  587. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_negative_sampling.py +0 -0
  588. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_normalize_edge_index.py +0 -0
  589. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_normalized_cut.py +0 -0
  590. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_one_hot.py +0 -0
  591. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_scatter.py +0 -0
  592. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_segment.py +0 -0
  593. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_select.py +0 -0
  594. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_softmax.py +0 -0
  595. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_sort_edge_index.py +0 -0
  596. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_spmm.py +0 -0
  597. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_subgraph.py +0 -0
  598. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_to_dense_adj.py +0 -0
  599. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_to_dense_batch.py +0 -0
  600. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_train_test_split_edges.py +0 -0
  601. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_tree_decomposition.py +0 -0
  602. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_trim_to_layer.py +0 -0
  603. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/_unbatch.py +0 -0
  604. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/augmentation.py +0 -0
  605. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/convert.py +0 -0
  606. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/cross_entropy.py +0 -0
  607. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/dropout.py +0 -0
  608. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/embedding.py +0 -0
  609. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/functions.py +0 -0
  610. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/geodesic.py +0 -0
  611. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/hetero.py +0 -0
  612. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/isolated.py +0 -0
  613. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/laplacian.py +0 -0
  614. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/loop.py +0 -0
  615. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/map.py +0 -0
  616. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/mask.py +0 -0
  617. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/mesh_laplacian.py +0 -0
  618. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/mixin.py +0 -0
  619. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/nested.py +0 -0
  620. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/noise_scheduler.py +0 -0
  621. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/num_nodes.py +0 -0
  622. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/ppr.py +0 -0
  623. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/random.py +0 -0
  624. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/repeat.py +0 -0
  625. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/smiles.py +0 -0
  626. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/sparse.py +0 -0
  627. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/utils/undirected.py +0 -0
  628. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/visualization/__init__.py +0 -0
  629. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/visualization/graph.py +0 -0
  630. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/visualization/influence.py +0 -0
  631. {pyg_nightly-2.7.0.dev20241124 → pyg_nightly-2.7.0.dev20241125}/torch_geometric/warnings.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pyg-nightly
3
- Version: 2.7.0.dev20241124
3
+ Version: 2.7.0.dev20241125
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.dev20241124"
7
+ version="2.7.0.dev20241125"
8
8
  authors=[
9
9
  {name="Matthias Fey", email="matthias@pyg.org"},
10
10
  ]
@@ -30,7 +30,7 @@ from .lazy_loader import LazyLoader
30
30
  contrib = LazyLoader('contrib', globals(), 'torch_geometric.contrib')
31
31
  graphgym = LazyLoader('graphgym', globals(), 'torch_geometric.graphgym')
32
32
 
33
- __version__ = '2.7.0.dev20241124'
33
+ __version__ = '2.7.0.dev20241125'
34
34
 
35
35
  __all__ = [
36
36
  'Index',
@@ -77,6 +77,7 @@ from .myket import MyketDataset
77
77
  from .brca_tgca import BrcaTcga
78
78
  from .neurograph import NeuroGraphDataset
79
79
  from .web_qsp_dataset import WebQSPDataset
80
+ from .git_mol_dataset import GitMolDataset
80
81
  from .molecule_gpt_dataset import MoleculeGPTDataset
81
82
  from .tag_dataset import TAGDataset
82
83
 
@@ -192,6 +193,7 @@ homo_datasets = [
192
193
  'BrcaTcga',
193
194
  'NeuroGraphDataset',
194
195
  'WebQSPDataset',
196
+ 'GitMolDataset',
195
197
  'MoleculeGPTDataset',
196
198
  'TAGDataset',
197
199
  ]
@@ -0,0 +1,263 @@
1
+ import sys
2
+ from typing import Any, Callable, Dict, List, Optional
3
+
4
+ import numpy as np
5
+ import torch
6
+ from tqdm import tqdm
7
+
8
+ from torch_geometric.data import (
9
+ Data,
10
+ InMemoryDataset,
11
+ download_google_url,
12
+ extract_zip,
13
+ )
14
+ from torch_geometric.io import fs
15
+
16
+
17
+ def safe_index(lst: List[Any], e: int) -> int:
18
+ return lst.index(e) if e in lst else len(lst) - 1
19
+
20
+
21
+ class GitMolDataset(InMemoryDataset):
22
+ r"""The dataset from the `"GIT-Mol: A Multi-modal Large Language Model
23
+ for Molecular Science with Graph, Image, and Text"
24
+ <https://arxiv.org/pdf/2308.06911>`_ paper.
25
+
26
+ Args:
27
+ root (str): Root directory where the dataset should be saved.
28
+ transform (callable, optional): A function/transform that takes in an
29
+ :obj:`torch_geometric.data.Data` object and returns a transformed
30
+ version. The data object will be transformed before every access.
31
+ (default: :obj:`None`)
32
+ pre_transform (callable, optional): A function/transform that takes in
33
+ an :obj:`torch_geometric.data.Data` object and returns a
34
+ transformed version. The data object will be transformed before
35
+ being saved to disk. (default: :obj:`None`)
36
+ pre_filter (callable, optional): A function that takes in an
37
+ :obj:`torch_geometric.data.Data` object and returns a boolean
38
+ value, indicating whether the data object should be included in the
39
+ final dataset. (default: :obj:`None`)
40
+ force_reload (bool, optional): Whether to re-process the dataset.
41
+ (default: :obj:`False`)
42
+ split (int, optional): Datasets split, train/valid/test=0/1/2.
43
+ (default: :obj:`0`)
44
+ """
45
+
46
+ raw_url_id = '1loBXabD6ncAFY-vanRsVtRUSFkEtBweg'
47
+
48
+ def __init__(
49
+ self,
50
+ root: str,
51
+ transform: Optional[Callable] = None,
52
+ pre_transform: Optional[Callable] = None,
53
+ pre_filter: Optional[Callable] = None,
54
+ force_reload: bool = False,
55
+ split: int = 0,
56
+ ):
57
+ from torchvision import transforms
58
+
59
+ self.split = split
60
+
61
+ if self.split == 0:
62
+ self.img_transform = transforms.Compose([
63
+ transforms.Resize((224, 224)),
64
+ transforms.RandomRotation(15),
65
+ transforms.ColorJitter(brightness=0.5, contrast=0.5, hue=0.5),
66
+ transforms.ToTensor(),
67
+ transforms.Normalize(mean=[0.485, 0.456, 0.406],
68
+ std=[0.229, 0.224, 0.225])
69
+ ])
70
+ else:
71
+ self.img_transform = transforms.Compose([
72
+ transforms.Resize((224, 224)),
73
+ transforms.ToTensor(),
74
+ transforms.Normalize(mean=[0.485, 0.456, 0.406],
75
+ std=[0.229, 0.224, 0.225])
76
+ ])
77
+
78
+ super().__init__(root, transform, pre_transform, pre_filter,
79
+ force_reload=force_reload)
80
+
81
+ self.load(self.processed_paths[0])
82
+
83
+ @property
84
+ def raw_file_names(self) -> List[str]:
85
+ return ['train_3500.pkl', 'valid_450.pkl', 'test_450.pkl']
86
+
87
+ @property
88
+ def processed_file_names(self) -> str:
89
+ return ['train.pt', 'valid.pt', 'test.pt'][self.split]
90
+
91
+ def download(self) -> None:
92
+ file_path = download_google_url(
93
+ self.raw_url_id,
94
+ self.raw_dir,
95
+ 'gitmol.zip',
96
+ )
97
+ extract_zip(file_path, self.raw_dir)
98
+
99
+ def process(self) -> None:
100
+ import pandas as pd
101
+ from PIL import Image
102
+
103
+ try:
104
+ from rdkit import Chem, RDLogger
105
+ RDLogger.DisableLog('rdApp.*') # type: ignore
106
+ WITH_RDKIT = True
107
+
108
+ except ImportError:
109
+ WITH_RDKIT = False
110
+
111
+ if not WITH_RDKIT:
112
+ print(("Using a pre-processed version of the dataset. Please "
113
+ "install 'rdkit' to alternatively process the raw data."),
114
+ file=sys.stderr)
115
+
116
+ data_list = fs.torch_load(self.raw_paths[0])
117
+ data_list = [Data(**data_dict) for data_dict in data_list]
118
+
119
+ if self.pre_filter is not None:
120
+ data_list = [d for d in data_list if self.pre_filter(d)]
121
+
122
+ if self.pre_transform is not None:
123
+ data_list = [self.pre_transform(d) for d in data_list]
124
+
125
+ self.save(data_list, self.processed_paths[0])
126
+ return
127
+
128
+ allowable_features: Dict[str, List[Any]] = {
129
+ 'possible_atomic_num_list':
130
+ list(range(1, 119)) + ['misc'],
131
+ 'possible_formal_charge_list':
132
+ [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 'misc'],
133
+ 'possible_chirality_list': [
134
+ Chem.rdchem.ChiralType.CHI_UNSPECIFIED,
135
+ Chem.rdchem.ChiralType.CHI_TETRAHEDRAL_CW,
136
+ Chem.rdchem.ChiralType.CHI_TETRAHEDRAL_CCW,
137
+ Chem.rdchem.ChiralType.CHI_OTHER
138
+ ],
139
+ 'possible_hybridization_list': [
140
+ Chem.rdchem.HybridizationType.SP,
141
+ Chem.rdchem.HybridizationType.SP2,
142
+ Chem.rdchem.HybridizationType.SP3,
143
+ Chem.rdchem.HybridizationType.SP3D,
144
+ Chem.rdchem.HybridizationType.SP3D2,
145
+ Chem.rdchem.HybridizationType.UNSPECIFIED, 'misc'
146
+ ],
147
+ 'possible_numH_list': [0, 1, 2, 3, 4, 5, 6, 7, 8, 'misc'],
148
+ 'possible_implicit_valence_list': [0, 1, 2, 3, 4, 5, 6],
149
+ 'possible_degree_list': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'misc'],
150
+ 'possible_number_radical_e_list': [0, 1, 2, 3, 4, 'misc'],
151
+ 'possible_is_aromatic_list': [False, True],
152
+ 'possible_is_in_ring_list': [False, True],
153
+ 'possible_bond_type_list': [
154
+ Chem.rdchem.BondType.SINGLE, Chem.rdchem.BondType.DOUBLE,
155
+ Chem.rdchem.BondType.TRIPLE, Chem.rdchem.BondType.AROMATIC,
156
+ Chem.rdchem.BondType.ZERO
157
+ ],
158
+ 'possible_bond_dirs': [ # only for double bond stereo information
159
+ Chem.rdchem.BondDir.NONE, Chem.rdchem.BondDir.ENDUPRIGHT,
160
+ Chem.rdchem.BondDir.ENDDOWNRIGHT
161
+ ],
162
+ 'possible_bond_stereo_list': [
163
+ Chem.rdchem.BondStereo.STEREONONE,
164
+ Chem.rdchem.BondStereo.STEREOZ,
165
+ Chem.rdchem.BondStereo.STEREOE,
166
+ Chem.rdchem.BondStereo.STEREOCIS,
167
+ Chem.rdchem.BondStereo.STEREOTRANS,
168
+ Chem.rdchem.BondStereo.STEREOANY,
169
+ ],
170
+ 'possible_is_conjugated_list': [False, True]
171
+ }
172
+
173
+ data = pd.read_pickle(
174
+ f'{self.raw_dir}/igcdata_toy/{self.raw_file_names[self.split]}')
175
+
176
+ data_list = []
177
+ for _, r in tqdm(data.iterrows(), total=data.shape[0]):
178
+ smiles = r['isosmiles']
179
+ mol = Chem.MolFromSmiles(smiles.strip('\n'))
180
+ if mol is not None:
181
+ # text
182
+ summary = r['summary']
183
+ # image
184
+ cid = r['cid']
185
+ img_file = f'{self.raw_dir}/igcdata_toy/imgs/CID_{cid}.png'
186
+ img = Image.open(img_file).convert('RGB')
187
+ img = self.img_transform(img).unsqueeze(0)
188
+ # graph
189
+ atom_features_list = []
190
+ for atom in mol.GetAtoms(): # type: ignore
191
+ atom_feature = [
192
+ safe_index(
193
+ allowable_features['possible_atomic_num_list'],
194
+ atom.GetAtomicNum()),
195
+ allowable_features['possible_chirality_list'].index(
196
+ atom.GetChiralTag()),
197
+ safe_index(allowable_features['possible_degree_list'],
198
+ atom.GetTotalDegree()),
199
+ safe_index(
200
+ allowable_features['possible_formal_charge_list'],
201
+ atom.GetFormalCharge()),
202
+ safe_index(allowable_features['possible_numH_list'],
203
+ atom.GetTotalNumHs()),
204
+ safe_index(
205
+ allowable_features[
206
+ 'possible_number_radical_e_list'],
207
+ atom.GetNumRadicalElectrons()),
208
+ safe_index(
209
+ allowable_features['possible_hybridization_list'],
210
+ atom.GetHybridization()),
211
+ allowable_features['possible_is_aromatic_list'].index(
212
+ atom.GetIsAromatic()),
213
+ allowable_features['possible_is_in_ring_list'].index(
214
+ atom.IsInRing()),
215
+ ]
216
+ atom_features_list.append(atom_feature)
217
+ x = torch.tensor(np.array(atom_features_list),
218
+ dtype=torch.long)
219
+
220
+ edges_list = []
221
+ edge_features_list = []
222
+ for bond in mol.GetBonds(): # type: ignore
223
+ i, j = bond.GetBeginAtomIdx(), bond.GetEndAtomIdx()
224
+ edge_feature = [
225
+ safe_index(
226
+ allowable_features['possible_bond_type_list'],
227
+ bond.GetBondType()),
228
+ allowable_features['possible_bond_stereo_list'].index(
229
+ bond.GetStereo()),
230
+ allowable_features['possible_is_conjugated_list'].
231
+ index(bond.GetIsConjugated()),
232
+ ]
233
+ edges_list.append((i, j))
234
+ edge_features_list.append(edge_feature)
235
+ edges_list.append((j, i))
236
+ edge_features_list.append(edge_feature)
237
+
238
+ edge_index = torch.tensor(
239
+ np.array(edges_list).T,
240
+ dtype=torch.long,
241
+ )
242
+ edge_attr = torch.tensor(
243
+ np.array(edge_features_list),
244
+ dtype=torch.long,
245
+ )
246
+
247
+ data = Data(
248
+ x=x,
249
+ edge_index=edge_index,
250
+ smiles=smiles,
251
+ edge_attr=edge_attr,
252
+ image=img,
253
+ caption=summary,
254
+ )
255
+
256
+ if self.pre_filter is not None and not self.pre_filter(data):
257
+ continue
258
+ if self.pre_transform is not None:
259
+ data = self.pre_transform(data)
260
+
261
+ data_list.append(data)
262
+
263
+ self.save(data_list, self.processed_paths[0])
@@ -29,6 +29,7 @@ from .pmlp import PMLP
29
29
  from .neural_fingerprint import NeuralFingerprint
30
30
  from .visnet import ViSNet
31
31
  from .g_retriever import GRetriever
32
+ from .git_mol import GITMol
32
33
  from .molecule_gpt import MoleculeGPT
33
34
  from .glem import GLEM
34
35
  # Deprecated:
@@ -78,6 +79,7 @@ __all__ = classes = [
78
79
  'NeuralFingerprint',
79
80
  'ViSNet',
80
81
  'GRetriever',
82
+ 'GITMol',
81
83
  'MoleculeGPT',
82
84
  'GLEM',
83
85
  ]
@@ -0,0 +1,336 @@
1
+ from typing import List, Optional
2
+
3
+ import torch
4
+ import torch.nn.functional as F
5
+ from torch import Tensor
6
+ from torch.nn import BatchNorm1d, LayerNorm, Linear, ReLU, Sequential
7
+
8
+ from torch_geometric.nn import GINEConv
9
+ from torch_geometric.nn.nlp import SentenceTransformer, VisionTransformer
10
+ from torch_geometric.utils import add_self_loops, to_dense_batch
11
+
12
+
13
+ class GraphEncoder(torch.nn.Module):
14
+ def __init__(
15
+ self,
16
+ num_layers: int,
17
+ in_channels: int,
18
+ dropout: float = 0.,
19
+ num_atom_type: int = 120,
20
+ num_chirality_tag: int = 3,
21
+ num_bond_type: int = 6,
22
+ num_bond_direction: int = 3,
23
+ ) -> None:
24
+ super().__init__()
25
+
26
+ self.num_layers = num_layers
27
+ self.dropout = dropout
28
+
29
+ self.x_embed1 = torch.nn.Embedding(num_atom_type, in_channels)
30
+ self.x_embed2 = torch.nn.Embedding(num_chirality_tag, in_channels)
31
+ self.edge_embed1 = torch.nn.Embedding(num_bond_type, in_channels)
32
+ self.edge_embed2 = torch.nn.Embedding(num_bond_direction, in_channels)
33
+
34
+ self.gnns = torch.nn.ModuleList()
35
+ self.batch_norms = torch.nn.ModuleList()
36
+ for _ in range(num_layers):
37
+ self.gnns.append(
38
+ GINEConv(
39
+ nn=Sequential(
40
+ Linear(in_channels, in_channels * 2),
41
+ ReLU(),
42
+ Linear(in_channels * 2, in_channels),
43
+ ),
44
+ train_eps=True,
45
+ edge_dim=in_channels,
46
+ ))
47
+ self.batch_norms.append(BatchNorm1d(in_channels))
48
+ self.reset_parameters()
49
+
50
+ def reset_parameters(self):
51
+ torch.nn.init.xavier_uniform_(self.x_embed1.weight.data)
52
+ torch.nn.init.xavier_uniform_(self.x_embed2.weight.data)
53
+ torch.nn.init.xavier_uniform_(self.edge_embed1.weight.data)
54
+ torch.nn.init.xavier_uniform_(self.edge_embed2.weight.data)
55
+
56
+ def forward(
57
+ self,
58
+ x: Tensor,
59
+ edge_index: Tensor,
60
+ batch: Tensor,
61
+ edge_attr: Tensor,
62
+ ) -> Tensor:
63
+ x = self.x_embed1(x[:, 0].long()) + self.x_embed2(x[:, 1].long())
64
+ edge_index, edge_attr = add_self_loops(
65
+ edge_index,
66
+ edge_attr,
67
+ fill_value=0,
68
+ num_nodes=x.size(0),
69
+ )
70
+ edge_attr = self.edge_embed1(edge_attr[:, 0]) + self.edge_embed2(
71
+ edge_attr[:, 1])
72
+ for i, (gnn, bn) in enumerate(zip(self.gnns, self.batch_norms)):
73
+ x = gnn(x, edge_index, edge_attr)
74
+ x = bn(x)
75
+ if i < self.num_layers - 1:
76
+ x = F.relu(x)
77
+ x = F.dropout(x, self.dropout, training=self.training)
78
+
79
+ x, mask = to_dense_batch(x, batch)
80
+ return x, mask
81
+
82
+
83
+ class GITFormer(torch.nn.Module):
84
+ def __init__(
85
+ self,
86
+ num_query_token: int,
87
+ vision_graph_width: int,
88
+ cross_attention_freq: int = 2,
89
+ ):
90
+ super().__init__()
91
+ from transformers import AutoConfig, AutoModel
92
+
93
+ config = AutoConfig.from_pretrained("allenai/scibert_scivocab_uncased")
94
+ config.encoder_width = vision_graph_width
95
+ # insert cross-attention layer every other block
96
+ config.add_cross_attention = True
97
+ config.is_decoder = True
98
+ config.cross_attention_freq = cross_attention_freq
99
+ config.query_length = num_query_token
100
+ self.Qformer = AutoModel.from_pretrained(
101
+ "allenai/scibert_scivocab_uncased", config=config)
102
+ self.query_tokens = torch.nn.Parameter(
103
+ torch.zeros(1, num_query_token, config.hidden_size))
104
+ self.query_tokens.data.normal_(mean=0.0, std=config.initializer_range)
105
+
106
+
107
+ class GITMol(torch.nn.Module):
108
+ r"""The GITMol model from the `"GIT-Mol: A Multi-modal Large Language
109
+ Model for Molecular Science with Graph, Image, and Text"
110
+ <https://arxiv.org/pdf/2308.06911>`_ paper.
111
+
112
+ .. note::
113
+ For an example of using :class:`GITMol`, see
114
+ `examples/llm/git_mol.py <https://github.com/pyg-team/
115
+ pytorch_geometric/blob/master/examples/llm/git_mol.py>`_.
116
+ """
117
+ def __init__(self) -> None:
118
+ super().__init__()
119
+ # graph
120
+ self.graph_encoder = GraphEncoder(num_layers=2, in_channels=16)
121
+ self.graph_proj = Linear(16, 768)
122
+ self.ln_graph = LayerNorm(768)
123
+ # text
124
+ self.text_encoder = SentenceTransformer(
125
+ model_name='allenai/scibert_scivocab_uncased',
126
+ pooling_strategy='last_hidden_state',
127
+ )
128
+ self.text_proj = Linear(768, 768)
129
+ self.ln_text = LayerNorm(768)
130
+ # vision
131
+ self.vision_encoder = VisionTransformer(
132
+ model_name='microsoft/swin-base-patch4-window7-224', )
133
+ self.vision_proj = Linear(1024, 768)
134
+ self.ln_vision = LayerNorm(768)
135
+ # cross-attention
136
+ self.gitformer = GITFormer(384, 768)
137
+
138
+ self.xtm_head = torch.nn.ModuleDict({
139
+ 'image':
140
+ Linear(self.gitformer.Qformer.config.hidden_size, 2),
141
+ 'graph':
142
+ Linear(self.gitformer.Qformer.config.hidden_size, 2),
143
+ 'cs_text':
144
+ Linear(self.gitformer.Qformer.config.hidden_size, 2),
145
+ })
146
+
147
+ self.xtc_proj = torch.nn.ModuleDict({
148
+ 'image':
149
+ Linear(self.gitformer.Qformer.config.hidden_size, 768),
150
+ 'graph':
151
+ Linear(self.gitformer.Qformer.config.hidden_size, 768),
152
+ 'cs_text':
153
+ Linear(self.gitformer.Qformer.config.hidden_size, 768),
154
+ })
155
+ self.temp = torch.nn.Parameter(0.07 * torch.ones([]))
156
+ self.model_freeze()
157
+
158
+ def model_freeze(self) -> None:
159
+ for param in self.graph_encoder.parameters():
160
+ param.requires_grad = False
161
+
162
+ for param in self.vision_encoder.parameters():
163
+ param.requires_grad = False
164
+
165
+ def forward(
166
+ self,
167
+ x: Tensor,
168
+ edge_index: Tensor,
169
+ batch: Tensor,
170
+ edge_attr: Optional[Tensor],
171
+ smiles: List[str],
172
+ images: Tensor,
173
+ captions: List[str],
174
+ ) -> Tensor:
175
+ batch_size = len(smiles)
176
+
177
+ x_vision = self.vision_encoder(images)
178
+ x_vision = self.vision_proj(x_vision)
179
+ x_vision = self.ln_vision(x_vision) # [bs, patch_len, d]
180
+ vision_atts = torch.ones(x_vision.size()[:-1],
181
+ dtype=torch.long).to(x_vision.device)
182
+ vision_targets = torch.arange(batch_size).to(x_vision.device)
183
+
184
+ x_graph, graph_atts = self.graph_encoder(x, edge_index, batch,
185
+ edge_attr)
186
+ x_graph = self.graph_proj(x_graph)
187
+ x_graph = self.ln_graph(x_graph) # [bs, node_len, d]
188
+ graph_targets = torch.arange(batch_size).to(x_graph.device)
189
+
190
+ x_smiles = self.text_encoder.encode(smiles) # [bs, seq_len, d]
191
+ smiles_atts = torch.ones(x_smiles.size()[:-1],
192
+ dtype=torch.long).to(x_smiles.device)
193
+ smiles_targets = torch.arange(batch_size).to(x_smiles.device)
194
+
195
+ caption_input_ids, caption_attention_masks = self.text_encoder.get_input_ids( # noqa: E501
196
+ captions)
197
+
198
+ text_output = self.gitformer.Qformer(
199
+ caption_input_ids,
200
+ attention_mask=caption_attention_masks,
201
+ return_dict=True,
202
+ )
203
+ text_feat = F.normalize(
204
+ self.text_proj(text_output.last_hidden_state[:, 0, :]), dim=-1)
205
+
206
+ loss = 0
207
+ for x_embed, x_atts, x_targets, modal in zip(
208
+ [x_graph, x_smiles, x_vision],
209
+ [graph_atts, smiles_atts, vision_atts],
210
+ [graph_targets, smiles_targets, vision_targets],
211
+ ['graph', 'cs_text', 'image'],
212
+ ):
213
+ loss += self._calc_xtc_loss(x_embed, x_atts, x_targets, text_feat,
214
+ modal)
215
+ loss += self._calc_xtm_loss(x_embed, caption_input_ids,
216
+ caption_attention_masks, modal)
217
+
218
+ return loss / 6
219
+
220
+ def _calc_xtm_loss(
221
+ self,
222
+ x_embeds: Tensor,
223
+ input_ids: Tensor,
224
+ attention_mask: Tensor,
225
+ modal: str,
226
+ ) -> Tensor:
227
+ # Initializing lists to hold the original and negative samples
228
+ x_embeds_list = []
229
+ text_input_ids_list = []
230
+ text_attention_mask_list = []
231
+
232
+ batch_size = x_embeds.size(0)
233
+ for i in range(batch_size):
234
+ # Original samples
235
+ x_embeds_list.append(x_embeds[i])
236
+ text_input_ids_list.append(input_ids[i, :])
237
+ text_attention_mask_list.append(attention_mask[i, :])
238
+
239
+ if batch_size > 1:
240
+ # Negative samples (neg_text_input_ids corresponds to x_embeds)
241
+ neg_text_input_ids = input_ids[i - 1 if i == batch_size -
242
+ 1 else i + 1, :]
243
+ neg_text_attention_mask = attention_mask[i -
244
+ 1 if i == batch_size -
245
+ 1 else i + 1, :]
246
+ text_input_ids_list.append(neg_text_input_ids)
247
+ text_attention_mask_list.append(neg_text_attention_mask)
248
+ x_embeds_list.append(x_embeds[i, :])
249
+
250
+ # Negative samples (text_input_ids corresponds to neg_x_embeds)
251
+ neg_x_embeds = x_embeds[i - 1 if i == batch_size - 1 else i +
252
+ 1, :]
253
+ x_embeds_list.append(neg_x_embeds)
254
+ text_input_ids_list.append(input_ids[i, :])
255
+ text_attention_mask_list.append(attention_mask[i, :])
256
+
257
+ # Stack all samples into two large tensors
258
+ x_embeds_all = torch.stack(x_embeds_list, dim=1) \
259
+ .reshape(-1, x_embeds.size(1), x_embeds.size(2))
260
+ text_input_ids_all = torch.stack(text_input_ids_list, dim=1) \
261
+ .reshape(-1, input_ids.size(1))
262
+ # Create image attention masks for the concatenated tensor
263
+ image_attns_all = torch.ones(x_embeds_all.size()[:-1],
264
+ dtype=torch.long).to(x_embeds_all.device)
265
+ query_tokens_xtm = self.gitformer.query_tokens.expand(
266
+ text_input_ids_all.shape[0], -1, -1)
267
+ query_attns_xtm = torch.ones(query_tokens_xtm.size()[:-1],
268
+ dtype=torch.long).to(x_embeds_all.device)
269
+
270
+ output_xtm = self.gitformer.Qformer(
271
+ inputs_embeds=query_tokens_xtm,
272
+ attention_mask=query_attns_xtm,
273
+ encoder_hidden_states=x_embeds_all,
274
+ encoder_attention_mask=image_attns_all,
275
+ return_dict=True,
276
+ ).last_hidden_state
277
+
278
+ xtm_embeddings = output_xtm[:, :query_tokens_xtm.size(1), :]
279
+
280
+ xtm_logit = self.xtm_head[modal](xtm_embeddings).mean(dim=1)
281
+ # Create labels: 1 for the original samples, 0 for the negative samples
282
+ if batch_size > 1:
283
+ labels = torch.cat(
284
+ [torch.ones(batch_size),
285
+ torch.zeros(batch_size * 2)], dim=0)
286
+ else:
287
+ labels = torch.ones(batch_size)
288
+ labels = labels.long().to(xtm_logit.device)
289
+
290
+ # Calculate cross entropy loss
291
+ return F.cross_entropy(xtm_logit, labels)
292
+
293
+ def _calc_xtc_loss(
294
+ self,
295
+ x_embeds: Tensor,
296
+ x_atts: Tensor,
297
+ x_targets: Tensor,
298
+ text_feat: Tensor,
299
+ modal: str,
300
+ ) -> Tensor:
301
+ query_tokens = self.gitformer.query_tokens.expand(
302
+ x_embeds.shape[0], -1, -1)
303
+
304
+ query_output = self.gitformer.Qformer(
305
+ inputs_embeds=query_tokens,
306
+ encoder_hidden_states=x_embeds,
307
+ encoder_attention_mask=x_atts,
308
+ return_dict=True,
309
+ ).last_hidden_state
310
+
311
+ x_feats = F.normalize(self.xtc_proj[modal](query_output), dim=-1)
312
+
313
+ sim_q2t = torch.matmul(
314
+ x_feats.unsqueeze(1),
315
+ text_feat.unsqueeze(-1),
316
+ ).squeeze(-1)
317
+
318
+ # modal-text similarity: aggregate across all query tokens
319
+ sim_x2t, _ = sim_q2t.max(-1)
320
+ sim_x2t = sim_x2t / self.temp
321
+
322
+ # text-query similarity
323
+ sim_t2q = torch.matmul(
324
+ text_feat.unsqueeze(1).unsqueeze(1),
325
+ x_feats.permute(0, 2, 1),
326
+ ).squeeze(-2)
327
+
328
+ # text-modal similarity: aggregate across all query tokens
329
+ sim_t2x, _ = sim_t2q.max(-1)
330
+ sim_t2x = sim_t2x / self.temp
331
+
332
+ loss_itc = (
333
+ F.cross_entropy(sim_x2t, x_targets, label_smoothing=0.1) +
334
+ F.cross_entropy(sim_t2x, x_targets, label_smoothing=0.1)) / 2
335
+
336
+ return loss_itc
@@ -1,7 +1,9 @@
1
1
  from .sentence_transformer import SentenceTransformer
2
+ from .vision_transformer import VisionTransformer
2
3
  from .llm import LLM
3
4
 
4
5
  __all__ = classes = [
5
6
  'SentenceTransformer',
7
+ 'VisionTransformer',
6
8
  'LLM',
7
9
  ]