概览
JT-VAE 提供了用于分子图生成的 Junction Tree Variational Autoencoder 官方实现,相关论文链接为 https://arxiv.org/abs/1802.04364。其工作流程面向分子图生成及相关模型训练实验。README 将分子图列为生成目标,但来源摘录未说明数据集准备、可接受的输入格式、输出序列化方式或检查点是否可用。
该仓库将模型实现与训练及实验脚本分开。README 指引用户查看加速实现 fast_jtnn/ 和 VAE 训练代码 fast_molvae/。文档还列出了支持原始 ICML 论文相关实验的目录:bo/ 用于贝叶斯优化,molvae/ 用于仅训练 VAE,molopt/ 用于联合训练 VAE 和性质预测器,jtnn/ 用于模型形式。这些是文档所述的工作流程组件,并不能证明相关结果已复现。
列出的要求包括 Linux、Python 2.7、RDKit 2017.09 或更高版本,以及 PyTorch 0.2 或更高版本;作者称只在 Ubuntu 上测试过。规划评估环境时应考虑这些历史要求。README 还建议使用独立的 hgraph2graph 仓库来改进架构。其所述的 ChEMBL 预训练模型和性质引导生成脚本不应归入此 JT-VAE 仓库。虽然 README 称较新的实现经过加速,但所提供的证据没有给出数值速度对比。
主要功能
- 用于分子图生成的 Junction Tree Variational Autoencoder 官方实现,并附有研究论文链接。
- `fast_jtnn/` 中的加速模型实现,以及配套的 `fast_molvae/` VAE 训练代码。
- `molvae/` 中用于原始 ICML 论文相关实验的仅训练 VAE 脚本。
- `molopt/` 中用于联合训练 VAE 和性质预测器的脚本。
- `bo/` 中的贝叶斯优化实验脚本;主文档提到了该目录的专属 README。
使用场景
- 预期评估用途:使用文档所述的实现和训练流程,研究 JT-VAE 作为分子图生成模型的表现。
- 预期评估用途:通过 `molopt/` 训练脚本考察联合表示学习与分子性质预测。
- 预期评估用途:研究仓库中的贝叶斯优化实验,将其作为分子优化研究流程的起点。
使用方式
- 阅读官方 README和关联论文,了解模型用途,并区分实现说明与研究结论。
- 评估所列环境要求:Linux、Python 2.7、RDKit >= 2017.09 和 PyTorch >= 0.2。查阅所链接的 RDKit 安装文档;README 建议使用 conda,并说明仅在 Ubuntu 上测试过。
- 在仓库中检查
fast_jtnn/,并在尝试加速 VAE 训练前阅读fast_molvae/README.md。应在那里确认输入准备和输出内容,不要自行假定格式。 - 根据评估目标选择实验目录:
bo/、molvae/或molopt/。阅读相应 README 了解实际流程;来源摘录没有列出命令。 - 查看仓库代码许可证。如果需要了解架构改进,请单独检查 hgraph2graph,不要将其功能视为 JT-VAE 的特性。