本文主要是介绍GNN-第三方库:DGL【图神经网络框架,支持对异构图的处理,开源相关异构图神经网络的代码,在GCMC、RGCN等业内知名的模型实现上也取得了很好的效果】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、DGL库的实现与性能
实现GNN并不容易,因为它需要在不规则数据上实现较高的GPU吞吐量。
1、DGL库简介
DGL库的逻辑层使用了顶点域的处理方式,使代码更容易理解。同时,又在底层的内存和运行效率方面做了大量的工作,使得框架可以发挥出更好的性能。
2、DGL库特点
GCMC:DGL的内存优化支持在一个GPU上对MovieLens10M数据集进行训练(原实现需要从CPU中动态加载数据),从而将原本需要24小时的训练时间缩短到1个多小时。
RGCN:使用全新的异构图接口重新实现了RGCN。减少了内存开销。
HAN:提供的灵活接口可以将一个异构图通过元路径转变成同构图。
Metapath2vec:新的元路径采样实现比原实现快2倍。
3、分子化学的模型库DGL-Chem
该分子库提供包括分子性质预测和分子结构生成等预训练模型,以及训练知识图谱嵌入专用包DGL-KE。其中DGL-KE的性能更是出色。
在单GPU上,DGL-KE能在7分钟内使用经典的TransE模型训练出FB15K的图嵌入。而GraphVite(v0.1.0)在4个GPU上运算需要14分钟。
DGL-KE的首个版本发布了TransE、CompEx和Dis
这篇关于GNN-第三方库:DGL【图神经网络框架,支持对异构图的处理,开源相关异构图神经网络的代码,在GCMC、RGCN等业内知名的模型实现上也取得了很好的效果】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!