关系表示学习的python框架
spektral的Python项目详细描述
欢迎使用Spektral
spektral是一个用于图形深度学习的python库,基于keras api。 该项目的主要目标是提供一个简单而灵活的框架来创建图形神经网络(GNNs)。
您可以使用spektral对网络的节点进行分类、预测分子特性、生成带有gans的新图、对节点进行聚类、预测链接,以及使用图描述数据的任何其他任务。
Spektral实现了一些最流行的图形深度学习层,包括:
- Graph convolutional networks (GCN)
- Chebyshev networks (ChebNets)
- GraphSage
- Edge-conditioned convolutions (ECC)
- Graph attention networks (GAT)
- ARMA convolutions
- Approximated personalized propagation of neural predictions (APPNP)
- Graph isomorphism networks (GIN)
您还可以找到pooling layers(包括全局读取和图形粗化层),以及许多实用程序,以便在项目中应用图形深入学习。
请参阅如何get started with Spektral,并查看一些项目模板的examples。
安装
spektral与python 3.5+兼容,并在ubuntu 16.04和18.04上进行了测试。 其他linux发行版和macos也应该可以工作,但windows目前不受支持。
要在ubuntu上安装所需的依赖项,请运行:
$ sudo apt install graphviz libgraphviz-dev libcgraph6
Spektral的某些功能还需要以下可选依赖项:
安装spektral的最简单方法是从pypi:
$ pip install spektral
要从源安装spektral,请在终端中运行此命令:
$ git clone https://github.com/danielegrattarola/spektral.git $ cd spektral $ python setup.py install # Or 'pip install .'
请注意,setup.py
脚本不会尝试为keras安装后端,以避免弄乱以前的任何安装。
但是,它将通过pypi(可能包括tensorflow的cpu版本)安装keras及其依赖项。
如果您已经是keras用户,这不应该影响您。如果您刚刚开始,那么您可能需要在安装spektral之前install the GPU version of Tensorflow。
还要注意spektral的一些特性可能明确依赖于tensorflow,尽管这种依赖性将保持在最小值。
贡献
WARNING |
---|
Spektral is still a work in progress and may change significantly before the first release. The API is not mature enough to be considered stable, but we'll try to keep breaking changes to a minimum. |
spektral是一个开源项目,on Github,欢迎所有类型的贡献。如果您有一些有趣的东西想添加到框架中,可以随意打开一个pull请求。