Skip to content

Add GraphTokenizer implementation - #260

Open
baihchou8787 wants to merge 6 commits into
BUPT-GAMMA:mainfrom
baihchou8787:graph-tokenizer
Open

baihchou8787 wants to merge 6 commits into
BUPT-GAMMA:mainfrom
baihchou8787:graph-tokenizer

Conversation

@baihchou8787

@baihchou8787 baihchou8787 commented Aug 9, 2026 •

Copy link
Copy Markdown

概述

新增 GraphTokenizer 算法实现,包括图序列化、Graph-BPE 分词、GraphBERT/GraphGTE 模型、训练示例与使用文档。

新增 QM9、OGBG-molhiv 和 Peptides-struct 三个分子数据集的数据加载器,支持数据下载、预处理及官方训练/验证/测试划分。

最新提交(989b48a)

  • 精简并固化 GraphTokenizer 论文协议的训练/预检流程、序列化与 BPE 行为。
  • 补充模型、协议及分词回归测试,并整理设计和执行文档。
  • 明确当前原生 GraphGTE 为随机初始化,GTE 结果须在官方 checkpoint 加载完成后重新验证。
  • 未包含工作区中无语义的全仓 LF→CRLF 换行符变化。

测试

此前在 TL_BACKEND=torch 环境下运行相关测试:

  • 146 项通过
  • 2 项跳过

本次提交已通过 compileall 与 git diff --check;当前环境未安装 pytest,因此未重复运行聚焦 pytest。

@baihchou8787

Copy link
Copy Markdown
Author

已补充 GraphTokenizer 改进(commit 5c17b0b):

  • 平行边 fail-fast,避免 Feuler 静默去重导致结构丢失。
  • GraphBPE 保护 component separator,禁止跨组件边界合并。
  • tokenizer 记录 train-only fit 的 graph-ID 哈希和 schema 版本。
  • 训练器拒绝多维 feature 的静默首元素压缩。
  • 普通训练流程只在每轮评估 validation;恢复最佳 validation 状态后仅评估一次 test。
  • 补齐 C++ BPE 与 Python reference 的 parity helper。
  • 文档明确 deserialize() 尚未实现,且随机初始化 TLX GTE 不等价于论文的预训练 GTE。

验证:136 passed(GraphTokenizer transform、model、paper protocol、C++ BPE bridge 相关测试)。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant