python-gfm 0.1.2__tar.gz → 0.1.4__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 (431) hide show
  1. {python_gfm-0.1.2 → python_gfm-0.1.4}/PKG-INFO +16 -4
  2. python_gfm-0.1.4/pyproject.toml +58 -0
  3. {python_gfm-0.1.2 → python_gfm-0.1.4}/python_gfm.egg-info/PKG-INFO +16 -4
  4. {python_gfm-0.1.2 → python_gfm-0.1.4}/python_gfm.egg-info/SOURCES.txt +6 -2
  5. {python_gfm-0.1.2 → python_gfm-0.1.4}/python_gfm.egg-info/entry_points.txt +2 -0
  6. python_gfm-0.1.4/python_gfm.egg-info/requires.txt +22 -0
  7. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/__init__.py +1 -1
  8. python_gfm-0.1.4/src/pygfm/cli/baseline_registry.py +103 -0
  9. python_gfm-0.1.4/src/pygfm/cli/baselines/__init__.py +1 -0
  10. python_gfm-0.1.4/src/pygfm/cli/baselines/stub_config.py +40 -0
  11. python_gfm-0.1.4/src/pygfm/cli/mdgpt_stages.py +270 -0
  12. python_gfm-0.1.4/src/pygfm/cli/run_yaml.py +46 -0
  13. python_gfm-0.1.4/src/pygfm/cli/script_runner.py +217 -0
  14. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/runtime.py +49 -42
  15. python_gfm-0.1.2/pyproject.toml +0 -30
  16. python_gfm-0.1.2/python_gfm.egg-info/requires.txt +0 -10
  17. python_gfm-0.1.2/src/pygfm/baseline_models/gcot/graphgpt/model/graph_layers/bpe_simple_vocab_16e6.txt.gz +0 -0
  18. python_gfm-0.1.2/src/pygfm/baseline_models/graphgpt/model/graph_layers/bpe_simple_vocab_16e6.txt.gz +0 -0
  19. {python_gfm-0.1.2 → python_gfm-0.1.4}/README.md +0 -0
  20. {python_gfm-0.1.2 → python_gfm-0.1.4}/python_gfm.egg-info/dependency_links.txt +0 -0
  21. {python_gfm-0.1.2 → python_gfm-0.1.4}/python_gfm.egg-info/top_level.txt +0 -0
  22. {python_gfm-0.1.2 → python_gfm-0.1.4}/setup.cfg +0 -0
  23. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/__init__.py +0 -0
  24. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/bim_gfm/__init__.py +0 -0
  25. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/bim_gfm/ablation.py +0 -0
  26. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/bim_gfm/downprompt.py +0 -0
  27. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/bim_gfm/preprompt.py +0 -0
  28. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/bridge/__init__.py +0 -0
  29. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/bridge/downprompt.py +0 -0
  30. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/bridge/downprompt_graph.py +0 -0
  31. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/bridge/preprompt.py +0 -0
  32. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/classic_gnn/__init__.py +0 -0
  33. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/classic_gnn/downprompt.py +0 -0
  34. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/classic_gnn/preprompt.py +0 -0
  35. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/__init__.py +0 -0
  36. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/downprompt.py +0 -0
  37. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/downprompt_graph.py +0 -0
  38. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/__init__.py +0 -0
  39. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/build_instruct_arxiv_ds.py +0 -0
  40. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/constants.py +0 -0
  41. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/conversation.py +0 -0
  42. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/eval/run_graphgpt.py +0 -0
  43. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/eval/run_graphgpt_LP.py +0 -0
  44. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/eval/run_vicuna.py +0 -0
  45. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/model/GraphLlama.py +0 -0
  46. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/model/GraphLlama_pl.py +0 -0
  47. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/model/__init__.py +0 -0
  48. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/model/apply_delta.py +0 -0
  49. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/model/apply_lora.py +0 -0
  50. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/model/builder.py +0 -0
  51. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/model/compression.py +0 -0
  52. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/model/convert_fp16.py +0 -0
  53. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/model/graph_layers/__init__.py +0 -0
  54. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/model/graph_layers/clip_graph.py +0 -0
  55. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/model/graph_layers/graph_transformer.py +0 -0
  56. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/model/graph_layers/mpnn.py +0 -0
  57. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/model/graph_layers/simple_tokenizer.py +0 -0
  58. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/model/make_delta.py +0 -0
  59. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/model/model_adapter.py +0 -0
  60. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/model/model_registry.py +0 -0
  61. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/model/monkey_patch_non_inplace.py +0 -0
  62. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/model/utils.py +0 -0
  63. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/protocol/openai_api_protocol.py +0 -0
  64. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/__init__.py +0 -0
  65. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/api_provider.py +0 -0
  66. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/bard_worker.py +0 -0
  67. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/cacheflow_worker.py +0 -0
  68. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/cli.py +0 -0
  69. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/controller.py +0 -0
  70. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/controller_graph.py +0 -0
  71. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/gradio_block_arena_anony.py +0 -0
  72. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/gradio_block_arena_named.py +0 -0
  73. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/gradio_css.py +0 -0
  74. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/gradio_patch.py +0 -0
  75. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/gradio_web_server.py +0 -0
  76. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/gradio_web_server_graph.py +0 -0
  77. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/gradio_web_server_multi.py +0 -0
  78. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/huggingface_api.py +0 -0
  79. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/inference.py +0 -0
  80. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/model_worker.py +0 -0
  81. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/model_worker_graph.py +0 -0
  82. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/monitor/basic_stats.py +0 -0
  83. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/monitor/clean_battle_data.py +0 -0
  84. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/monitor/elo_analysis.py +0 -0
  85. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/monitor/hf_space_leaderboard_app.py +0 -0
  86. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/monitor/monitor.py +0 -0
  87. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/openai_api_server.py +0 -0
  88. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/register_worker.py +0 -0
  89. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/test_message.py +0 -0
  90. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/serve/test_throughput.py +0 -0
  91. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/train/graphchat_trainer.py +0 -0
  92. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/train/llama_flash_attn_monkey_patch.py +0 -0
  93. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/train/train_graph.py +0 -0
  94. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/train/train_light.py +0 -0
  95. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/train/train_lora.py +0 -0
  96. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/train/train_mem.py +0 -0
  97. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/graphgpt/utils.py +0 -0
  98. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/gcot/preprompt.py +0 -0
  99. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/__init__.py +0 -0
  100. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/build_instruct_arxiv_ds.py +0 -0
  101. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/constants.py +0 -0
  102. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/conversation.py +0 -0
  103. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/eval/run_graphgpt.py +0 -0
  104. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/eval/run_graphgpt_LP.py +0 -0
  105. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/eval/run_vicuna.py +0 -0
  106. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/model/GraphLlama.py +0 -0
  107. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/model/GraphLlama_pl.py +0 -0
  108. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/model/__init__.py +0 -0
  109. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/model/apply_delta.py +0 -0
  110. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/model/apply_lora.py +0 -0
  111. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/model/builder.py +0 -0
  112. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/model/compression.py +0 -0
  113. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/model/convert_fp16.py +0 -0
  114. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/model/graph_layers/__init__.py +0 -0
  115. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/model/graph_layers/clip_graph.py +0 -0
  116. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/model/graph_layers/graph_transformer.py +0 -0
  117. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/model/graph_layers/mpnn.py +0 -0
  118. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/model/graph_layers/simple_tokenizer.py +0 -0
  119. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/model/make_delta.py +0 -0
  120. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/model/model_adapter.py +0 -0
  121. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/model/model_registry.py +0 -0
  122. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/model/monkey_patch_non_inplace.py +0 -0
  123. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/model/utils.py +0 -0
  124. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/protocol/openai_api_protocol.py +0 -0
  125. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/__init__.py +0 -0
  126. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/api_provider.py +0 -0
  127. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/bard_worker.py +0 -0
  128. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/cacheflow_worker.py +0 -0
  129. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/cli.py +0 -0
  130. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/controller.py +0 -0
  131. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/controller_graph.py +0 -0
  132. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/gradio_block_arena_anony.py +0 -0
  133. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/gradio_block_arena_named.py +0 -0
  134. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/gradio_css.py +0 -0
  135. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/gradio_patch.py +0 -0
  136. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/gradio_web_server.py +0 -0
  137. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/gradio_web_server_graph.py +0 -0
  138. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/gradio_web_server_multi.py +0 -0
  139. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/huggingface_api.py +0 -0
  140. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/inference.py +0 -0
  141. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/model_worker.py +0 -0
  142. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/model_worker_graph.py +0 -0
  143. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/monitor/basic_stats.py +0 -0
  144. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/monitor/clean_battle_data.py +0 -0
  145. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/monitor/elo_analysis.py +0 -0
  146. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/monitor/hf_space_leaderboard_app.py +0 -0
  147. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/monitor/monitor.py +0 -0
  148. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/openai_api_server.py +0 -0
  149. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/register_worker.py +0 -0
  150. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/test_message.py +0 -0
  151. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/serve/test_throughput.py +0 -0
  152. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/train/graphchat_trainer.py +0 -0
  153. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/train/llama_flash_attn_monkey_patch.py +0 -0
  154. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/train/train_graph.py +0 -0
  155. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/train/train_light.py +0 -0
  156. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/train/train_lora.py +0 -0
  157. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/train/train_mem.py +0 -0
  158. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphgpt/utils.py +0 -0
  159. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphkeeper/__init__.py +0 -0
  160. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphkeeper/downprompt.py +0 -0
  161. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphkeeper/downprompt_graph.py +0 -0
  162. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphkeeper/preprompt.py +0 -0
  163. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphmore/__init__.py +0 -0
  164. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphmore/downprompt.py +0 -0
  165. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphmore/downprompt_graph.py +0 -0
  166. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphmore/preprompt.py +0 -0
  167. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphprompt/__init__.py +0 -0
  168. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphprompt/downprompt.py +0 -0
  169. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphprompt/downprompt_graph.py +0 -0
  170. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphprompt/preprompt.py +0 -0
  171. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphprompt/prompt_layers.py +0 -0
  172. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/__init__.py +0 -0
  173. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/eval/__init__.py +0 -0
  174. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/eval/run_icl.py +0 -0
  175. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/graph_text/__init__.py +0 -0
  176. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/graph_text/agent.py +0 -0
  177. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/graph_text/conversation.py +0 -0
  178. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/graph_text/graph_instruction_dataset.py +0 -0
  179. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/graph_text/icl.py +0 -0
  180. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/graph_text/llama_flash_attn_monkey_patch.py +0 -0
  181. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/graph_text/model.py +0 -0
  182. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/graph_text/prompts.py +0 -0
  183. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/graph_text/samplers.py +0 -0
  184. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/llm/__init__.py +0 -0
  185. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/llm/deepseek.py +0 -0
  186. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/llm/fake_llm.py +0 -0
  187. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/llm/gpt.py +0 -0
  188. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/llm/llama_icl.py +0 -0
  189. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/llm/llm.py +0 -0
  190. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/llm/smoke_llm.py +0 -0
  191. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/train/__init__.py +0 -0
  192. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/train/run_sft.py +0 -0
  193. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/utils/__init__.py +0 -0
  194. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/utils/basics/__init__.py +0 -0
  195. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/utils/basics/cfg_utils.py +0 -0
  196. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/utils/basics/iterables.py +0 -0
  197. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/utils/basics/logging.py +0 -0
  198. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/utils/basics/np_utils.py +0 -0
  199. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/utils/basics/os_utils.py +0 -0
  200. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/utils/data/__init__.py +0 -0
  201. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/utils/data/graph_tree.py +0 -0
  202. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/utils/data/ppr.py +0 -0
  203. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/utils/data/preprocess.py +0 -0
  204. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/utils/data/pyg_graph.py +0 -0
  205. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/utils/data/textual_graph.py +0 -0
  206. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/utils/pkg/__init__.py +0 -0
  207. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/utils/pkg/dict2xml.py +0 -0
  208. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/utils/pkg/distributed.py +0 -0
  209. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/utils/pkg/graph_utils.py +0 -0
  210. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/utils/pkg/hf_utils.py +0 -0
  211. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/utils/project/__init__.py +0 -0
  212. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graphtext/utils/project/exp.py +0 -0
  213. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graver/__init__.py +0 -0
  214. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graver/downprompt.py +0 -0
  215. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graver/downprompt_graph.py +0 -0
  216. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/graver/preprompt.py +0 -0
  217. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/hgprompt/__init__.py +0 -0
  218. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/hgprompt/downprompt.py +0 -0
  219. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/hgprompt/preprompt.py +0 -0
  220. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/hgprompt/prompt_layers.py +0 -0
  221. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/__init__.py +0 -0
  222. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/eval/__init__.py +0 -0
  223. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/eval/eval_pretrain.py +0 -0
  224. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/eval/eval_pretrain_logit.py +0 -0
  225. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/eval/eval_res.py +0 -0
  226. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/fixtures/__init__.py +0 -0
  227. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/fixtures/smoke_bundle.py +0 -0
  228. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/io_utils.py +0 -0
  229. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/model/__init__.py +0 -0
  230. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/model/apply_delta.py +0 -0
  231. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/model/builder.py +0 -0
  232. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/model/consolidate.py +0 -0
  233. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/model/language_model/llaga_llama.py +0 -0
  234. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/model/language_model/llaga_mpt.py +0 -0
  235. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/model/language_model/llaga_opt.py +0 -0
  236. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/model/language_model/mpt/adapt_tokenizer.py +0 -0
  237. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/model/language_model/mpt/attention.py +0 -0
  238. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/model/language_model/mpt/blocks.py +0 -0
  239. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/model/language_model/mpt/configuration_mpt.py +0 -0
  240. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/model/language_model/mpt/custom_embedding.py +0 -0
  241. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/model/language_model/mpt/flash_attn_triton.py +0 -0
  242. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/model/language_model/mpt/hf_prefixlm_converter.py +0 -0
  243. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/model/language_model/mpt/meta_init_context.py +0 -0
  244. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/model/language_model/mpt/modeling_mpt.py +0 -0
  245. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/model/language_model/mpt/norm.py +0 -0
  246. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/model/language_model/mpt/param_init_fns.py +0 -0
  247. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/model/llaga_arch.py +0 -0
  248. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/model/make_delta.py +0 -0
  249. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/model/utils.py +0 -0
  250. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/paths.py +0 -0
  251. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/pyg_dataset.py +0 -0
  252. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/train/__init__.py +0 -0
  253. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/train/llaga_trainer.py +0 -0
  254. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/train/llama_flash_attn_monkey_patch.py +0 -0
  255. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/train/train.py +0 -0
  256. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/train/train_mem.py +0 -0
  257. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/utils/__init__.py +0 -0
  258. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/utils/constants.py +0 -0
  259. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/utils/conversation.py +0 -0
  260. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/utils/data_process.py +0 -0
  261. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/llaga/utils/utils.py +0 -0
  262. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/mdgfm/__init__.py +0 -0
  263. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/mdgfm/downprompt.py +0 -0
  264. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/mdgfm/downprompt_graph.py +0 -0
  265. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/mdgfm/preprompt.py +0 -0
  266. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/mdgpt/__init__.py +0 -0
  267. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/mdgpt/downprompt.py +0 -0
  268. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/mdgpt/downprompt_graph.py +0 -0
  269. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/mdgpt/multidomain_gfm.py +0 -0
  270. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/mdgpt/preprompt.py +0 -0
  271. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/multigprompt/__init__.py +0 -0
  272. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/multigprompt/aug.py +0 -0
  273. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/multigprompt/downprompt.py +0 -0
  274. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/multigprompt/layers/__init__.py +0 -0
  275. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/multigprompt/layers/discriminator.py +0 -0
  276. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/multigprompt/layers/discriminator2.py +0 -0
  277. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/multigprompt/layers/gcn.py +0 -0
  278. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/multigprompt/layers/readout.py +0 -0
  279. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/multigprompt/models/LP.py +0 -0
  280. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/multigprompt/models/__init__.py +0 -0
  281. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/multigprompt/models/dgi.py +0 -0
  282. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/multigprompt/models/gcnlayers.py +0 -0
  283. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/multigprompt/models/graphcl.py +0 -0
  284. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/multigprompt/models/logreg.py +0 -0
  285. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/multigprompt/paths.py +0 -0
  286. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/multigprompt/preprompt.py +0 -0
  287. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/multigprompt/utils/process.py +0 -0
  288. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/__init__.py +0 -0
  289. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/data/KG/__init__.py +0 -0
  290. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/data/KG/gen_data.py +0 -0
  291. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/data/__init__.py +0 -0
  292. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/data/chemmol/__init__.py +0 -0
  293. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/data/chemmol/gen_data.py +0 -0
  294. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/data/chemmol/gen_raw_graph.py +0 -0
  295. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/data/ofa_data.py +0 -0
  296. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/data/single_graph/Cora/__init__.py +0 -0
  297. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/data/single_graph/Cora/gen_data.py +0 -0
  298. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/data/single_graph/Pubmed/__init__.py +0 -0
  299. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/data/single_graph/Pubmed/gen_data.py +0 -0
  300. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/data/single_graph/__init__.py +0 -0
  301. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/data/single_graph/arxiv/__init__.py +0 -0
  302. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/data/single_graph/arxiv/gen_data.py +0 -0
  303. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/data/single_graph/gen_data.py +0 -0
  304. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/data/single_graph/wikics/__init__.py +0 -0
  305. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/data/single_graph/wikics/gen_data.py +0 -0
  306. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/data/torch_io.py +0 -0
  307. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/fs_datamanager.py +0 -0
  308. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/gp/__init__.py +0 -0
  309. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/gp/lightning/data_template.py +0 -0
  310. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/gp/lightning/metric.py +0 -0
  311. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/gp/lightning/module_template.py +0 -0
  312. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/gp/lightning/training.py +0 -0
  313. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/gp/nn/__init__.py +0 -0
  314. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/gp/nn/layer/pyg.py +0 -0
  315. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/gp/nn/loss.py +0 -0
  316. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/gp/nn/models/GNN.py +0 -0
  317. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/gp/nn/models/__init__.py +0 -0
  318. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/gp/nn/models/dgl.py +0 -0
  319. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/gp/nn/models/pyg.py +0 -0
  320. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/gp/nn/models/task_predictor.py +0 -0
  321. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/gp/nn/models/util_model.py +0 -0
  322. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/gp/nn/pooling.py +0 -0
  323. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/gp/nn/resolver.py +0 -0
  324. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/gp/utils/__init__.py +0 -0
  325. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/gp/utils/datasets.py +0 -0
  326. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/gp/utils/graph.py +0 -0
  327. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/gp/utils/io.py +0 -0
  328. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/gp/utils/utils.py +0 -0
  329. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/lightning_model.py +0 -0
  330. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/models/__init__.py +0 -0
  331. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/models/model.py +0 -0
  332. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/ofa_datasets.py +0 -0
  333. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/paths.py +0 -0
  334. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/run_cdm.py +0 -0
  335. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/task_constructor.py +0 -0
  336. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/oneforall/utils.py +0 -0
  337. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/rag_gfm/__init__.py +0 -0
  338. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/rag_gfm/preprompt.py +0 -0
  339. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/__init__.py +0 -0
  340. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/attack_data_gen/__init__.py +0 -0
  341. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/attack_data_gen/lib/__init__.py +0 -0
  342. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/attack_data_gen/lib/data_utils.py +0 -0
  343. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/attack_data_gen/lib/gcn_surrogate.py +0 -0
  344. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/attack_data_gen/lib/paths.py +0 -0
  345. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/attack_data_gen/pipeline/01_train_gcn_surrogate.py +0 -0
  346. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/attack_data_gen/pipeline/02_nettack_reports.py +0 -0
  347. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/attack_data_gen/pipeline/03_assemble_final.py +0 -0
  348. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/attack_data_gen/pipeline/04_random_perturb.py +0 -0
  349. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/attack_data_gen/pipeline/05_metattack_surrogate.py +0 -0
  350. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/attack_data_gen/pipeline/06_metattack_batch.py +0 -0
  351. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/community_detection/__init__.py +0 -0
  352. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/community_detection/pipeline/01_detect_communities.py +0 -0
  353. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/community_detection/pipeline/02_analyze_communities.py +0 -0
  354. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/downstream/__init__.py +0 -0
  355. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/downstream/lib/__init__.py +0 -0
  356. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/downstream/lib/config.py +0 -0
  357. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/downstream/models/__init__.py +0 -0
  358. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/downstream/models/down_model.py +0 -0
  359. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/downstream/models/moe.py +0 -0
  360. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/downstream/pipeline/__init__.py +0 -0
  361. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/downstream/pipeline/train_downstream.py +0 -0
  362. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/few_shot_gen/__init__.py +0 -0
  363. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/few_shot_gen/pipeline/01_generate_splits.py +0 -0
  364. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/node_feature_enhance/__init__.py +0 -0
  365. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/node_feature_enhance/pipeline/01_build_enhanced_x.py +0 -0
  366. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/paths.py +0 -0
  367. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/pretrain/__init__.py +0 -0
  368. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/pretrain/pipeline/__init__.py +0 -0
  369. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/pretrain/pipeline/data_utils.py +0 -0
  370. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/pretrain/pipeline/model.py +0 -0
  371. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/sa2gfm/pretrain/pipeline/train_single.py +0 -0
  372. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/samgpt/__init__.py +0 -0
  373. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/samgpt/downprompt.py +0 -0
  374. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/samgpt/downprompt_graph.py +0 -0
  375. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/baseline_models/samgpt/preprompt.py +0 -0
  376. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/cli/__init__.py +0 -0
  377. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/cli/sa2gfm.py +0 -0
  378. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/private/__init__.py +0 -0
  379. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/private/core/__init__.py +0 -0
  380. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/private/core/gnn_encoder.py +0 -0
  381. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/private/utlis/__init__.py +0 -0
  382. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/private/utlis/domain_alignment.py +0 -0
  383. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/private/utlis/downstream_data_gen/__init__.py +0 -0
  384. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/private/utlis/downstream_data_gen/generator.py +0 -0
  385. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/private/utlis/feature_handling.py +0 -0
  386. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/private/utlis/graph_construction.py +0 -0
  387. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/private/utlis/graph_type_variants.py +0 -0
  388. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/private/utlis/loss_calculation.py +0 -0
  389. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/private/utlis/rag_gfm/__init__.py +0 -0
  390. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/private/utlis/rag_gfm/corpus_builder.py +0 -0
  391. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/private/utlis/rag_gfm/motif_builder.py +0 -0
  392. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/__init__.py +0 -0
  393. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/backbone_models/__init__.py +0 -0
  394. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/backbone_models/gnn_encoder.py +0 -0
  395. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/cli/__init__.py +0 -0
  396. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/cli/default_ckpt.py +0 -0
  397. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/cli/export_yaml.py +0 -0
  398. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/cli/multigprompt_config.py +0 -0
  399. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/cli/yaml_config.py +0 -0
  400. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/cli/yaml_flat_to_argv.py +0 -0
  401. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/model_bases.py +0 -0
  402. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/__init__.py +0 -0
  403. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/data_process/__init__.py +0 -0
  404. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/data_process/ogb_preprocess.py +0 -0
  405. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/data_process/pyg_graph.py +0 -0
  406. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/data_process/text_embed.py +0 -0
  407. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/llm/__init__.py +0 -0
  408. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/llm/dev_llm_stub.py +0 -0
  409. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/llm/hf_hub.py +0 -0
  410. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/llm/openai_api.py +0 -0
  411. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/llm/openai_client.py +0 -0
  412. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/loss_func/__init__.py +0 -0
  413. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/loss_func/cca_loss.py +0 -0
  414. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/loss_func/domain_contrastive.py +0 -0
  415. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/loss_func/domain_regularizer.py +0 -0
  416. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/loss_func/gradient_reversal.py +0 -0
  417. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/loss_func/info_nce_mi_matrix.py +0 -0
  418. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/loss_func/loss_support.py +0 -0
  419. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/loss_func/motif_contrastive_loss.py +0 -0
  420. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/loss_func/negative_sampling.py +0 -0
  421. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/loss_func/node_node_contrastive.py +0 -0
  422. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/loss_func/pairwise_ranking.py +0 -0
  423. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/loss_func/spectral_loss.py +0 -0
  424. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/loss_func/task_head.py +0 -0
  425. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/others/__init__.py +0 -0
  426. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/others/core.py +0 -0
  427. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/others/dict2xml.py +0 -0
  428. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/others/distributed_compat.py +0 -0
  429. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/others/graph_utils.py +0 -0
  430. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/others/ppr.py +0 -0
  431. {python_gfm-0.1.2 → python_gfm-0.1.4}/src/pygfm/public/utils/others/runtime.py +0 -0
@@ -1,16 +1,28 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-gfm
3
- Version: 0.1.2
3
+ Version: 0.1.4
4
4
  Summary: An AI copilot for graph data and models (Under active development).
5
5
  Author-email: BUAA SKLCCSE <your.email@example.com>
6
6
  License: Apache-2.0
7
- Requires-Python: >=3.10
7
+ Requires-Python: >=3.12
8
8
  Description-Content-Type: text/markdown
9
9
  Requires-Dist: numpy>=1.20
10
10
  Requires-Dist: pyyaml>=6
11
11
  Provides-Extra: torch
12
- Requires-Dist: torch>=2.0; extra == "torch"
13
- Requires-Dist: torch-geometric>=2.3; extra == "torch"
12
+ Requires-Dist: torch==2.8.0; extra == "torch"
13
+ Requires-Dist: torch-geometric>=2.3.0; extra == "torch"
14
+ Requires-Dist: torch-scatter==2.1.2; extra == "torch"
15
+ Requires-Dist: torch-sparse==0.6.18; extra == "torch"
16
+ Requires-Dist: torch-cluster==1.6.3; extra == "torch"
17
+ Requires-Dist: torch-spline-conv==1.2.2; extra == "torch"
18
+ Requires-Dist: scipy>=1.9.0; extra == "torch"
19
+ Requires-Dist: transformers>=4.36.0; extra == "torch"
20
+ Requires-Dist: joblib>=1.3.0; extra == "torch"
21
+ Requires-Dist: scikit-learn>=1.3.0; extra == "torch"
22
+ Requires-Dist: ftfy>=6.1.0; extra == "torch"
23
+ Requires-Dist: regex>=2023.0.0; extra == "torch"
24
+ Requires-Dist: accelerate>=0.26.0; extra == "torch"
25
+ Requires-Dist: fschat>=0.2.36; extra == "torch"
14
26
  Provides-Extra: dev
15
27
  Requires-Dist: pytest; extra == "dev"
16
28
  Requires-Dist: ruff; extra == "dev"
@@ -0,0 +1,58 @@
1
+ [build-system]
2
+ requires = ["setuptools>=68", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "python-gfm"
7
+ version = "0.1.4"
8
+ authors = [
9
+ { name = "BUAA SKLCCSE", email = "your.email@example.com" },
10
+ ]
11
+ description = "An AI copilot for graph data and models (Under active development)."
12
+ readme = "README.md"
13
+ requires-python = ">=3.12"
14
+ license = { text = "Apache-2.0" }
15
+ dependencies = [
16
+ "numpy>=1.20",
17
+ "pyyaml>=6",
18
+ ]
19
+
20
+ # Optional ML / GFM stack (default target: Python 3.12, Linux x86_64, CUDA 12.8).
21
+ # Torch and PyG extension versions are pinned to match:
22
+ # https://data.pyg.org/whl/torch-2.8.0+cu128.html
23
+ #
24
+ # Typical install:
25
+ # pip install torch==2.8.0 --index-url https://download.pytorch.org/whl/cu128
26
+ # pip install "python-gfm[torch]" -f https://data.pyg.org/whl/torch-2.8.0+cu128.html
27
+ #
28
+ # The -f URL is required so pip picks the +pt28cu128 wheels for torch-scatter / torch-sparse /
29
+ # torch-cluster / torch-spline-conv. CPU-only torch: use https://data.pyg.org/whl/torch-2.8.0+cpu.html
30
+ # and install torch from PyPI or the PyTorch CPU index instead.
31
+ [project.optional-dependencies]
32
+ torch = [
33
+ "torch==2.8.0",
34
+ "torch-geometric>=2.3.0",
35
+ "torch-scatter==2.1.2",
36
+ "torch-sparse==0.6.18",
37
+ "torch-cluster==1.6.3",
38
+ "torch-spline-conv==1.2.2",
39
+ "scipy>=1.9.0",
40
+ "transformers>=4.36.0",
41
+ "joblib>=1.3.0",
42
+ "scikit-learn>=1.3.0",
43
+ "ftfy>=6.1.0",
44
+ "regex>=2023.0.0",
45
+ "accelerate>=0.26.0",
46
+ "fschat>=0.2.36",
47
+ ]
48
+ dev = ["pytest", "ruff"]
49
+
50
+ [project.scripts]
51
+ pygfm = "pygfm.cli.run_yaml:main"
52
+ gfm = "pygfm.cli.run_yaml:main"
53
+ gfm-sa2gfm-pretrain = "pygfm.cli.sa2gfm:pretrain_main"
54
+ gfm-sa2gfm-downstream = "pygfm.cli.sa2gfm:downstream_main"
55
+
56
+ [tool.setuptools.packages.find]
57
+ where = ["src", "scripts", "ckpts"]
58
+ include = ["pygfm*"]
@@ -1,16 +1,28 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-gfm
3
- Version: 0.1.2
3
+ Version: 0.1.4
4
4
  Summary: An AI copilot for graph data and models (Under active development).
5
5
  Author-email: BUAA SKLCCSE <your.email@example.com>
6
6
  License: Apache-2.0
7
- Requires-Python: >=3.10
7
+ Requires-Python: >=3.12
8
8
  Description-Content-Type: text/markdown
9
9
  Requires-Dist: numpy>=1.20
10
10
  Requires-Dist: pyyaml>=6
11
11
  Provides-Extra: torch
12
- Requires-Dist: torch>=2.0; extra == "torch"
13
- Requires-Dist: torch-geometric>=2.3; extra == "torch"
12
+ Requires-Dist: torch==2.8.0; extra == "torch"
13
+ Requires-Dist: torch-geometric>=2.3.0; extra == "torch"
14
+ Requires-Dist: torch-scatter==2.1.2; extra == "torch"
15
+ Requires-Dist: torch-sparse==0.6.18; extra == "torch"
16
+ Requires-Dist: torch-cluster==1.6.3; extra == "torch"
17
+ Requires-Dist: torch-spline-conv==1.2.2; extra == "torch"
18
+ Requires-Dist: scipy>=1.9.0; extra == "torch"
19
+ Requires-Dist: transformers>=4.36.0; extra == "torch"
20
+ Requires-Dist: joblib>=1.3.0; extra == "torch"
21
+ Requires-Dist: scikit-learn>=1.3.0; extra == "torch"
22
+ Requires-Dist: ftfy>=6.1.0; extra == "torch"
23
+ Requires-Dist: regex>=2023.0.0; extra == "torch"
24
+ Requires-Dist: accelerate>=0.26.0; extra == "torch"
25
+ Requires-Dist: fschat>=0.2.36; extra == "torch"
14
26
  Provides-Extra: dev
15
27
  Requires-Dist: pytest; extra == "dev"
16
28
  Requires-Dist: ruff; extra == "dev"
@@ -45,7 +45,6 @@ src/pygfm/baseline_models/gcot/graphgpt/model/model_registry.py
45
45
  src/pygfm/baseline_models/gcot/graphgpt/model/monkey_patch_non_inplace.py
46
46
  src/pygfm/baseline_models/gcot/graphgpt/model/utils.py
47
47
  src/pygfm/baseline_models/gcot/graphgpt/model/graph_layers/__init__.py
48
- src/pygfm/baseline_models/gcot/graphgpt/model/graph_layers/bpe_simple_vocab_16e6.txt.gz
49
48
  src/pygfm/baseline_models/gcot/graphgpt/model/graph_layers/clip_graph.py
50
49
  src/pygfm/baseline_models/gcot/graphgpt/model/graph_layers/graph_transformer.py
51
50
  src/pygfm/baseline_models/gcot/graphgpt/model/graph_layers/mpnn.py
@@ -106,7 +105,6 @@ src/pygfm/baseline_models/graphgpt/model/model_registry.py
106
105
  src/pygfm/baseline_models/graphgpt/model/monkey_patch_non_inplace.py
107
106
  src/pygfm/baseline_models/graphgpt/model/utils.py
108
107
  src/pygfm/baseline_models/graphgpt/model/graph_layers/__init__.py
109
- src/pygfm/baseline_models/graphgpt/model/graph_layers/bpe_simple_vocab_16e6.txt.gz
110
108
  src/pygfm/baseline_models/graphgpt/model/graph_layers/clip_graph.py
111
109
  src/pygfm/baseline_models/graphgpt/model/graph_layers/graph_transformer.py
112
110
  src/pygfm/baseline_models/graphgpt/model/graph_layers/mpnn.py
@@ -363,7 +361,13 @@ src/pygfm/baseline_models/samgpt/downprompt.py
363
361
  src/pygfm/baseline_models/samgpt/downprompt_graph.py
364
362
  src/pygfm/baseline_models/samgpt/preprompt.py
365
363
  src/pygfm/cli/__init__.py
364
+ src/pygfm/cli/baseline_registry.py
365
+ src/pygfm/cli/mdgpt_stages.py
366
+ src/pygfm/cli/run_yaml.py
366
367
  src/pygfm/cli/sa2gfm.py
368
+ src/pygfm/cli/script_runner.py
369
+ src/pygfm/cli/baselines/__init__.py
370
+ src/pygfm/cli/baselines/stub_config.py
367
371
  src/pygfm/private/__init__.py
368
372
  src/pygfm/private/core/__init__.py
369
373
  src/pygfm/private/core/gnn_encoder.py
@@ -1,3 +1,5 @@
1
1
  [console_scripts]
2
+ gfm = pygfm.cli.run_yaml:main
2
3
  gfm-sa2gfm-downstream = pygfm.cli.sa2gfm:downstream_main
3
4
  gfm-sa2gfm-pretrain = pygfm.cli.sa2gfm:pretrain_main
5
+ pygfm = pygfm.cli.run_yaml:main
@@ -0,0 +1,22 @@
1
+ numpy>=1.20
2
+ pyyaml>=6
3
+
4
+ [dev]
5
+ pytest
6
+ ruff
7
+
8
+ [torch]
9
+ torch==2.8.0
10
+ torch-geometric>=2.3.0
11
+ torch-scatter==2.1.2
12
+ torch-sparse==0.6.18
13
+ torch-cluster==1.6.3
14
+ torch-spline-conv==1.2.2
15
+ scipy>=1.9.0
16
+ transformers>=4.36.0
17
+ joblib>=1.3.0
18
+ scikit-learn>=1.3.0
19
+ ftfy>=6.1.0
20
+ regex>=2023.0.0
21
+ accelerate>=0.26.0
22
+ fschat>=0.2.36
@@ -4,7 +4,7 @@ pygfm: An AI copilot for graph data and models.
4
4
  This package provides tools and utilities for working with Graph Foundation Models.
5
5
  """
6
6
 
7
- __version__ = "0.1.2"
7
+ __version__ = "0.1.3"
8
8
  __author__ = "BUAA SKLCCSE"
9
9
 
10
10
  __all__ = ["__version__"]
@@ -0,0 +1,103 @@
1
+ """Resolve ``(baseline, stage)`` → runner for ``pygfm -c config.yaml``."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import importlib
6
+ import pkgutil
7
+ from typing import Any, Callable
8
+
9
+ from pygfm.cli.baselines.stub_config import ALL_SCRIPT_PAIRS
10
+ from pygfm.cli.script_runner import make_runner
11
+
12
+ Runner = Callable[[dict[str, Any]], None]
13
+
14
+ _STAGE_ALIASES: dict[str, str] = {
15
+ "ft": "finetune",
16
+ "finetune_node": "finetune",
17
+ "train": "pretrain",
18
+ }
19
+
20
+
21
+ def merge_config(cfg: dict[str, Any]) -> dict[str, Any]:
22
+ params = cfg.get("params")
23
+ base = {k: v for k, v in cfg.items() if k != "params"}
24
+ if isinstance(params, dict):
25
+ return {**params, **base}
26
+ return base
27
+
28
+
29
+ def _discover_module_runners() -> dict[tuple[str, str], Runner]:
30
+ out: dict[tuple[str, str], Runner] = {}
31
+ import pygfm.cli.baselines as baselines_pkg
32
+
33
+ for info in pkgutil.iter_modules(baselines_pkg.__path__):
34
+ name = info.name
35
+ if name.startswith("_") or name == "stub_config":
36
+ continue
37
+ mod = importlib.import_module(f"pygfm.cli.baselines.{name}")
38
+ runners = getattr(mod, "RUNNERS", None)
39
+ if not isinstance(runners, dict):
40
+ continue
41
+ for stage, fn in runners.items():
42
+ if callable(fn):
43
+ out[(name, str(stage))] = fn
44
+ return out
45
+
46
+
47
+ def _sa2gfm_pretrain(_cfg: dict[str, Any]) -> None:
48
+ from pygfm.cli.sa2gfm import pretrain_main
49
+
50
+ pretrain_main()
51
+
52
+
53
+ def _sa2gfm_downstream(_cfg: dict[str, Any]) -> None:
54
+ from pygfm.cli.sa2gfm import downstream_main
55
+
56
+ downstream_main()
57
+
58
+
59
+ def _build_registry() -> dict[tuple[str, str], Runner]:
60
+ reg: dict[tuple[str, str], Runner] = {}
61
+
62
+ for b, s in ALL_SCRIPT_PAIRS:
63
+ reg[(b, s)] = make_runner(b, s)
64
+
65
+ reg[("sa2gfm", "pretrain")] = _sa2gfm_pretrain
66
+ reg[("sa2gfm", "downstream")] = _sa2gfm_downstream
67
+
68
+ reg.update(_discover_module_runners())
69
+ return reg
70
+
71
+
72
+ _REGISTRY: dict[tuple[str, str], Runner] | None = None
73
+
74
+
75
+ def get_registry() -> dict[tuple[str, str], Runner]:
76
+ global _REGISTRY
77
+ if _REGISTRY is None:
78
+ _REGISTRY = _build_registry()
79
+ return _REGISTRY
80
+
81
+
82
+ def run_from_yaml_dict(cfg: dict[str, Any]) -> None:
83
+ merged = merge_config(cfg)
84
+ baseline = merged.get("baseline")
85
+ stage = merged.get("stage")
86
+ if baseline is None or stage is None:
87
+ raise ValueError("YAML must set `baseline` and `stage`.")
88
+
89
+ b = str(baseline).strip().lower()
90
+ s = str(stage).strip().lower()
91
+ s = _STAGE_ALIASES.get(s, s)
92
+
93
+ fn = get_registry().get((b, s))
94
+ if fn is None:
95
+ raise ValueError(
96
+ f"No runner for baseline={b!r}, stage={s!r}. "
97
+ f"Known: {len(list_implemented())} pairs — see list_implemented()."
98
+ )
99
+ fn(merged)
100
+
101
+
102
+ def list_implemented() -> list[str]:
103
+ return [f"{a}/{t}" for (a, t) in sorted(get_registry().keys())]
@@ -0,0 +1 @@
1
+ """Per-baseline YAML runners (pretrain / finetune / …) for ``pygfm`` CLI."""
@@ -0,0 +1,40 @@
1
+ """
2
+ Canonical list of ``(baseline, stage)`` pairs dispatched by ``script_runner`` (unless a
3
+ real ``RUNNERS`` in ``pygfm.cli.baselines.<name>`` overrides).
4
+
5
+ Used by ``baseline_registry`` to register ``make_runner(b, s)`` for every pair.
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ from pygfm.cli.script_runner import DEFAULT_STAGE_FILES, SCRIPT_OVERRIDES
11
+
12
+ # Folders under scripts/ with the usual pretrain / finetune / finetune_graph layout.
13
+ _STANDARD_BASELINES: tuple[str, ...] = (
14
+ "bridge",
15
+ "gcot",
16
+ "graver",
17
+ "graphkeeper",
18
+ "graphmore",
19
+ "graphprompt",
20
+ "hgprompt",
21
+ "mdgfm",
22
+ "mdgpt",
23
+ "rag_gfm",
24
+ "samgpt",
25
+ )
26
+
27
+ _STANDARD_STAGES: tuple[str, ...] = ("pretrain", "finetune", "finetune_graph")
28
+
29
+
30
+ def _all_pairs() -> list[tuple[str, str]]:
31
+ pairs: set[tuple[str, str]] = set()
32
+ for b in _STANDARD_BASELINES:
33
+ for s in _STANDARD_STAGES:
34
+ pairs.add((b, s))
35
+ pairs.update(SCRIPT_OVERRIDES.keys())
36
+ pairs.add(("sa2gfm", "detect"))
37
+ return sorted(pairs)
38
+
39
+
40
+ ALL_SCRIPT_PAIRS: list[tuple[str, str]] = _all_pairs()
@@ -0,0 +1,270 @@
1
+ """MDGPT pretrain / finetune runners driven by YAML config (no ``scripts/`` layout)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import os
6
+ from typing import Any
7
+
8
+ import torch
9
+ import torch.nn.functional as F
10
+ from torch_geometric.data import Batch, Data
11
+
12
+ from pygfm.baseline_models.mdgpt import DownPromptModel, PrePromptModel
13
+ from pygfm.private.utlis.domain_alignment import DomainAlignment
14
+ from pygfm.public.utils import early_stopping, load_all_datasets, set_seed
15
+ from pygfm.public.utils.loss_func import sample_negative_pairs
16
+ from pygfm.public.utils.runtime import load_single_graph_dataset
17
+
18
+
19
+ def _data_root(cfg: dict[str, Any]) -> str:
20
+ return str(cfg.get("data_root") or os.environ.get("GFM_DATA_ROOT", "datasets/mdgpt"))
21
+
22
+
23
+ def run_mdgpt_pretrain(cfg: dict[str, Any]) -> None:
24
+ p = cfg.get("pretrain") or {}
25
+ if not p:
26
+ raise ValueError("YAML: missing `pretrain:` block for stage=pretrain")
27
+
28
+ seed = int(cfg.get("seed", 42))
29
+ data_root = _data_root(cfg)
30
+ target = str(p.get("target", "Cora"))
31
+
32
+ unify_dim = int(p.get("unify_dim", 50))
33
+ hidden_dim = int(p.get("hidden_dim", 256))
34
+ num_layers = int(p.get("num_layers", 3))
35
+ num_neg = int(p.get("num_neg", 50))
36
+ lr = float(p.get("lr", 1e-5))
37
+ patience = int(p.get("patience", 50))
38
+ max_epochs = int(p.get("max_epochs", 200))
39
+ log_interval = int(p.get("log_interval", 50))
40
+ prompt_mode = str(p.get("prompt_mode", "mul"))
41
+ temperature = float(p.get("temperature", 1.0))
42
+
43
+ allow_pyg = bool(p.get("allow_pyg_download", False))
44
+
45
+ save_dir = p.get("save_dir")
46
+ if save_dir:
47
+ save_dir = str(save_dir)
48
+ else:
49
+ save_dir = os.path.join("ckpts", "mdgpt", target.lower())
50
+ save_name = str(p.get("save_name") or f"preprompt_{target.lower()}.pth")
51
+
52
+ set_seed(seed)
53
+ device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
54
+
55
+ all_raw = load_all_datasets(data_root, allow_pyg_download=allow_pyg)
56
+ if not all_raw:
57
+ raise RuntimeError(
58
+ f"No datasets under {data_root!r}. Add flat *.pt files or set allow_pyg_download."
59
+ )
60
+
61
+ sources = [d for d in all_raw if d["name"].casefold() != target.casefold()]
62
+ ordered_names = [s["name"] for s in sources]
63
+ if not sources:
64
+ raise RuntimeError(
65
+ f"No source domains after excluding target={target!r}. Found: {[d['name'] for d in all_raw]}"
66
+ )
67
+ if not any(d["name"].casefold() == target.casefold() for d in all_raw):
68
+ print(
69
+ f"!! Warning: target {target!r} not in {data_root!r}. "
70
+ "Leave-one-out pretrain still runs; finetune needs target .pt later."
71
+ )
72
+ print(f"Target: {target} | sources: {ordered_names}")
73
+
74
+ source_list: list[Data] = []
75
+ aligners = []
76
+ for idx, s in enumerate(sources):
77
+ g0 = s["ds"][0]
78
+ feat = g0.x.numpy()
79
+ aligner = DomainAlignment(n_components=unify_dim)
80
+ aligner.fit(feat)
81
+ aligners.append(aligner)
82
+ aligned = torch.from_numpy(aligner.transform(feat)).float()
83
+ d = Data(x=aligned, edge_index=g0.edge_index, y=g0.y)
84
+ d.domain_id = torch.full((aligned.size(0),), idx, dtype=torch.long)
85
+ source_list.append(d)
86
+
87
+ big_batch = Batch.from_data_list(source_list).to(device)
88
+ tuples = sample_negative_pairs(
89
+ big_batch.edge_index,
90
+ big_batch.num_nodes,
91
+ num_neg=num_neg,
92
+ seed=seed,
93
+ ).to(device)
94
+
95
+ model = PrePromptModel(
96
+ input_dim=unify_dim,
97
+ hidden_dim=hidden_dim,
98
+ num_domains=len(sources),
99
+ num_layers=num_layers,
100
+ prompt_mode=prompt_mode, # type: ignore[arg-type]
101
+ temperature=temperature,
102
+ device=device,
103
+ )
104
+ optimizer = torch.optim.Adam(model.parameters(), lr=lr, weight_decay=0.0)
105
+
106
+ best_loss = 1e9
107
+ cnt_wait = 0
108
+ for epoch in range(max_epochs):
109
+ model.train()
110
+ optimizer.zero_grad()
111
+ loss = model(big_batch.x, big_batch.edge_index, big_batch.batch, tuples)
112
+ loss.backward()
113
+ optimizer.step()
114
+ should_stop, best_loss, cnt_wait = early_stopping(loss.item(), best_loss, cnt_wait, patience)
115
+ if epoch % log_interval == 0:
116
+ print(f"epoch={epoch} loss={loss.item():.4f}")
117
+ if should_stop:
118
+ print("early stopping")
119
+ break
120
+
121
+ os.makedirs(save_dir, exist_ok=True)
122
+ ckpt_path = os.path.join(save_dir, save_name)
123
+ torch.save(
124
+ {
125
+ "model": model.state_dict(),
126
+ "unify_dim": unify_dim,
127
+ "hidden_dim": hidden_dim,
128
+ "num_domains": len(sources),
129
+ "ordered_names": ordered_names,
130
+ "prompt_mode": prompt_mode,
131
+ "target": target,
132
+ },
133
+ ckpt_path,
134
+ )
135
+ print("saved:", ckpt_path)
136
+
137
+ try:
138
+ import joblib
139
+
140
+ aligner_path = os.path.join(save_dir, "aligners.pkl")
141
+ joblib.dump({"aligners": aligners, "ordered_names": ordered_names}, aligner_path)
142
+ print("saved aligners:", aligner_path)
143
+ except Exception:
144
+ pass
145
+
146
+
147
+ def run_mdgpt_finetune(cfg: dict[str, Any]) -> None:
148
+ f = cfg.get("finetune") or {}
149
+ if not f:
150
+ raise ValueError("YAML: missing `finetune:` block for stage=finetune")
151
+
152
+ seed = int(cfg.get("seed", 42))
153
+ data_root = _data_root(cfg)
154
+
155
+ dataset = str(f.get("dataset", "Cora"))
156
+ k_shot = int(f.get("k_shot", 1))
157
+ split_id = int(f.get("split_id", 0))
158
+ ckpt_path = f.get("ckpt")
159
+ if not ckpt_path:
160
+ raise ValueError("YAML finetune.ckpt: path to preprompt *.pth required")
161
+ ckpt_path = str(ckpt_path)
162
+
163
+ downstream_root = str(f.get("downstream_root", "downstream_data/mdgpt"))
164
+ splits_path = f.get("splits_path")
165
+ if splits_path:
166
+ splits_path = str(splits_path)
167
+ else:
168
+ splits_path = os.path.join(downstream_root, dataset, f"{k_shot}shot", "splits.pt")
169
+
170
+ lr = float(f.get("lr", 1e-3))
171
+ patience = int(f.get("patience", 50))
172
+ max_steps = int(f.get("max_steps", 400))
173
+ test_reserve = int(f.get("test_reserve", 1000))
174
+ allow_pyg = bool(f.get("allow_pyg_download", False))
175
+
176
+ set_seed(seed)
177
+ device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
178
+
179
+ ckpt = torch.load(ckpt_path, map_location=device)
180
+ unify_dim = int(ckpt["unify_dim"])
181
+ hidden_dim = int(ckpt["hidden_dim"])
182
+ prompt_mode = str(ckpt["prompt_mode"])
183
+
184
+ preprompt = PrePromptModel(
185
+ input_dim=unify_dim,
186
+ hidden_dim=hidden_dim,
187
+ num_domains=int(ckpt.get("num_domains", 4)),
188
+ num_layers=int(f.get("num_layers", 3)),
189
+ prompt_mode=prompt_mode, # type: ignore[arg-type]
190
+ temperature=float(f.get("temperature", 1.0)),
191
+ device=device,
192
+ )
193
+ preprompt.load_state_dict(ckpt["model"], strict=False)
194
+ preprompt.eval()
195
+
196
+ data, num_classes = load_single_graph_dataset(data_root, dataset, allow_pyg_download=allow_pyg)
197
+ edge_index = data.edge_index.to(device)
198
+ y = data.y.to(device)
199
+
200
+ x_raw = data.x.cpu().numpy()
201
+ aligner = DomainAlignment(n_components=unify_dim)
202
+ aligner.fit(x_raw)
203
+ x = torch.from_numpy(aligner.transform(x_raw)).float().to(device)
204
+
205
+ down_data = torch.load(splits_path, map_location="cpu")
206
+ splits = down_data["splits"]
207
+ if not (0 <= split_id < len(splits)):
208
+ raise IndexError(f"split_id {split_id} out of range 0..{len(splits)-1}")
209
+ split = splits[split_id]
210
+ support_idx = torch.tensor(split["indices"], dtype=torch.long, device=device)
211
+ support_labels = torch.tensor(split["labels"], dtype=torch.long, device=device)
212
+
213
+ test_start = max(0, len(y) - test_reserve)
214
+ test_idx = torch.arange(test_start, len(y), device=device)
215
+ test_labels = y[test_idx]
216
+
217
+ down = DownPromptModel(
218
+ gcn=preprompt.gcn,
219
+ input_dim=unify_dim,
220
+ hidden_dim=hidden_dim,
221
+ num_classes=num_classes,
222
+ prompt_mode=prompt_mode,
223
+ device=device,
224
+ )
225
+ try:
226
+ down.prefeature.load_state_dict(preprompt.pretexts[0].state_dict(), strict=False)
227
+ except Exception:
228
+ pass
229
+
230
+ opt = torch.optim.Adam(down.prefeature.parameters(), lr=lr)
231
+ best_loss = 1e9
232
+ wait = 0
233
+ for step in range(max_steps):
234
+ down.train()
235
+ opt.zero_grad()
236
+ logits = down(
237
+ x,
238
+ edge_index,
239
+ support_idx=support_idx,
240
+ support_labels=support_labels,
241
+ query_idx=support_idx,
242
+ train=True,
243
+ )
244
+ loss = F.cross_entropy(logits, support_labels)
245
+ loss.backward()
246
+ opt.step()
247
+ if loss.item() < best_loss:
248
+ best_loss = loss.item()
249
+ wait = 0
250
+ else:
251
+ wait += 1
252
+ if step % 50 == 0:
253
+ print(f"step={step} loss={loss.item():.4f}")
254
+ if wait >= patience:
255
+ print(f"early stopping step={step} best_loss={best_loss:.4f}")
256
+ break
257
+
258
+ down.eval()
259
+ with torch.inference_mode():
260
+ logits = down(
261
+ x,
262
+ edge_index,
263
+ support_idx=support_idx,
264
+ support_labels=support_labels,
265
+ query_idx=test_idx,
266
+ train=False,
267
+ )
268
+ preds = logits.argmax(dim=1)
269
+ acc = (preds == test_labels).float().mean().item()
270
+ print(f"[{dataset}] {k_shot}-shot split {split_id} test acc: {acc:.4f}")
@@ -0,0 +1,46 @@
1
+ """Unified CLI: run experiments from YAML for any registered ``baseline`` + ``stage``."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import argparse
6
+ from pathlib import Path
7
+ from typing import Any
8
+
9
+ import yaml
10
+
11
+ from pygfm.cli.baseline_registry import list_implemented, run_from_yaml_dict
12
+
13
+
14
+ def main(argv: list[str] | None = None) -> None:
15
+ p = argparse.ArgumentParser(
16
+ description=(
17
+ "Run GFM from YAML with `baseline` and `stage` (e.g. mdgpt + pretrain). "
18
+ "Registered pairs include all stub stages from stub_config plus real RUNNERS in "
19
+ "pygfm.cli.baselines.<name> — see list_implemented() in baseline_registry."
20
+ ),
21
+ )
22
+ p.add_argument(
23
+ "-c",
24
+ "--config",
25
+ "--yaml-config",
26
+ dest="config",
27
+ type=str,
28
+ required=True,
29
+ help="Path to YAML config file",
30
+ )
31
+ args = p.parse_args(argv)
32
+
33
+ path = Path(args.config)
34
+ if not path.is_file():
35
+ raise SystemExit(f"Config not found: {path}")
36
+
37
+ raw = path.read_text(encoding="utf-8")
38
+ cfg: dict[str, Any] = yaml.safe_load(raw) or {}
39
+ if not isinstance(cfg, dict):
40
+ raise SystemExit("YAML root must be a mapping (object)")
41
+
42
+ run_from_yaml_dict(cfg)
43
+
44
+
45
+ if __name__ == "__main__":
46
+ main()