Project Icon

DIG

图深度学习的综合平台,支持高级图生成、自监督学习和三维图研究

DIG提供统一的数据接口、常用算法和评估指标,支持高级图深度学习任务如图生成、自监督学习、解释性、三维图、OOD图的开发和基准测试。DIG帮助研究人员轻松开发新方法并与基线方法进行比较。最新版本基于PyG 2.0.0升级,推荐使用。

logo

PyPI Version Docs Status Build Status codecov Last Commit Contributing License visitors Downloads

Documentation | Paper [JMLR] | Tutorials | Benchmarks | Examples | Colab Demo | slack community:fire:

DIG: Dive into Graphs is a turnkey library for graph deep learning research.

:fire:Update (2022/07): We have upgraded our DIG library based on PyG 2.0.0. We recommend installing our latest version.

为什么选择DIG?

与当前流行的图深度学习库(如 PyTorch Geometric (PyG) 和 Deep Graph Library (DGL))相比,DIG 的主要区别在于,虽然 PyG 和 DGL 支持基础的图深度学习操作,但 DIG 提供了一个统一的测试平台,用于更高层次、面向研究的图深度学习任务,例如图生成、自监督学习、可解释性、3D 图和图的分布外检测。

如果你正在或计划从事图深度学习的研究,DIG 可以让你在我们的可扩展框架内开发你自己的方法,并使用常见的数据集和评估指标与当前的基线方法进行比较,无需额外的工作。

概述

它包括几个高级任务的数据接口常见算法评估指标的统一实现。我们的目标是让研究人员能够轻松地实现和基准测试算法。目前,我们考虑以下研究方向。

  • 图生成: dig.ggraph
  • 图上的自监督学习: dig.sslgraph
  • 图神经网络的可解释性: dig.xgraph
  • 3D 图上的深度学习: dig.threedgraph
  • 图分布外检测 (OOD): dig.oodgraph
  • 图增强: dig.auggraph
  • 公平图学习: dig.fairgraph

logo

用法

示例:几行代码运行SphereNetQM9上,结合分子的3D信息。

from dig.threedgraph.dataset import QM93D
from dig.threedgraph.method import SphereNet
from dig.threedgraph.evaluation import ThreeDEvaluator
from dig.threedgraph.method import run

# 加载数据集和划分
dataset = QM93D(root='dataset/')
target = 'U0'
dataset.data.y = dataset.data[target]
split_idx = dataset.get_idx_split(len(dataset.data.y), train_size=110000, valid_size=10000, seed=42)
train_dataset, valid_dataset, test_dataset = dataset[split_idx['train']], dataset[split_idx['valid']], dataset[split_idx['test']]

# 定义模型、损失和评估
model = SphereNet(energy_and_force=False, cutoff=5.0, num_layers=4,
                  hidden_channels=128, out_channels=1, int_emb_size=64,
                  basis_emb_size_dist=8, basis_emb_size_angle=8, basis_emb_size_torsion=8, out_emb_channels=256,
                  num_spherical=3, num_radial=6, envelope_exponent=5,
                  num_before_skip=1, num_after_skip=2, num_output_layers=3)                 
loss_func = torch.nn.L1Loss()
evaluation = ThreeDEvaluator()

# 训练和评估
run3d = run()
run3d.run(device, train_dataset, valid_dataset, test_dataset, model, loss_func, evaluation,
          epochs=20, batch_size=32, vt_batch_size=32, lr=0.0005, lr_decay_factor=0.5, lr_decay_step_size=15)

  1. 关于包含的所有 API 的详细信息,请参阅文档
  2. 我们为每个方向提供一个实践教程,帮助你开始使用 DIG: 图生成, 图上的自监督学习, 图神经网络的可解释性, 3D 图上的深度学习, 图分布外检测 (GOOD) 数据集
  3. 我们还提供了示例来使用 DIG 提供的 API。你可以通过点击以下链接开始你感兴趣的方向。

安装

从pip安装

DIG的关键依赖项:Dive into Graphs 包括 PyTorch (>=1.10.0),PyTorch Geometric (>=2.0.0),和 RDKit。

  1. 安装 PyTorch (>=1.10.0)
python -c "import torch; print(torch.__version__)"
>>> 1.10.0
  1. 安装 PyG (>=2.0.0)
python -c "import torch_geometric; print(torch_geometric.__version__)"
>>> 2.0.0
  1. 安装 DIG: Dive into Graphs。
pip install dive-into-graphs

安装完成后,您可以检查版本。如果没有错误发生,则表示您已经成功安装了 DIG: Dive into Graphs。

python
>>> from dig.version import __version__
>>> print(__version__)

从源代码安装

如果您想尝试尚未发布的最新功能,可以从源代码安装dig。

git clone https://github.com/divelab/DIG.git
cd DIG
pip install .

贡献

我们欢迎各种贡献形式,比如报告错误和添加新功能。详情请参阅我们的贡献指南

引用DIG

如果您在工作中发现 DIG 有用,请引用我们的论文:

@article{JMLR:v22:21-0343,
  author  = {Meng Liu and Youzhi Luo and Limei Wang and Yaochen Xie and Hao Yuan and Shurui Gui and Haiyang Yu and Zhao Xu and Jingtun Zhang and Yi Liu and Keqiang Yan and Haoran Liu and Cong Fu and Bora M Oztekin and Xuan Zhang and Shuiwang Ji},
  title   = {{DIG}: A Turnkey Library for Diving into Graph Deep Learning Research},
  journal = {Journal of Machine Learning Research},
  year    = {2021},
  volume  = {22},
  number  = {240},
  pages   = {1-9},
  url     = {http://jmlr.org/papers/v22/21-0343.html}
}

团队

DIG: Dive into GraphsTAMUDIVE 开发。贡献者有Meng Liu*, Youzhi Luo*, Limei Wang*, Yaochen Xie*, Hao Yuan*, Shurui Gui*, Haiyang Yu*, Zhao Xu, Jingtun Zhang, Yi Liu, Keqiang Yan, Haoran Liu, Cong Fu, Bora Oztekin, Xuan Zhang 和 Shuiwang Ji。

致谢

这项工作部分由国家科学基金会资助的项目支持,包括IIS-2006861, IIS-1955189, IIS-1908220, IIS-1908198, DBI-2028361 和 DBI-1922969。

联系方式

如果您有任何技术问题,请提交新的issue或在我们的DIG slack社区中提出。

如果您有其他问题,请联系我们:Meng Liu [mengliu@tamu.edu] 和 Shuiwang Ji [sji@tamu.edu]。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号