Graph machine learning 工具
OGB: Open Graph Benchmark(斯坦福开源用于网络神经百万量级OGB基准测试的数据集)
https://github.com/snap-stanford/ogb
OGB is a collection of benchmark datasets, data-loaders and evaluators for graph machine learning in PyTorch.
Data-loaders are fully compatible with PyTorch Geometric (PYG) and Deep Graph Library (DGL). The goal is to have an easily-accessible standardized large-scale benchmark datasets to drive research in graph machine learning.

Deep Graph Library (DGL)
DGL works on PyTorch 0.4.1+ and MXNet nightly build
PyTorch Geometric (PYG)
https://pytorch-geometric.readthedocs.io/en/latest/
https://github.com/rusty1s/pytorch_geometric
以节点预测为例,OGB支持PYG图和DGL图来表示学习框架中的数据加载方法。加载代码如下:
PYG
from ogb.nodeproppred.dataset_pyg import PygNodePropPredDataset
dataset = PygNodePropPredDataset(name = d_name)
num_tasks = dataset.num_tasks # obtaining number of prediction tasks in a dataset
splitted_idx = dataset.get_idx_split()
train_idx, valid_idx, test_idx = splitted_idx["train"], splitted_idx["valid"], splitted_idx["test"]
graph = dataset[0] # pyg graph object
DGL
from ogb.nodeproppred.dataset_dgl import DglNodePropPredDataset
dataset = DglNodePropPredDataset(name = d_name)
num_tasks = dataset.num_tasks # obtaining number of prediction tasks in a dataset
splitted_idx = dataset.get_idx_split()
train_idx, valid_idx, test_idx = splitted_idx["train"], splitted_idx["valid"], splitted_idx["test"]
graph, label = dataset[0] # graph: dgl graph object, label: torch tensor of shape (num_nodes, num_tasks)
同时,该项目提供了一些示例代码来评估每个数据集。具体如下:
from ogb.nodeproppred import Evaluator
evaluator = Evaluator(name = d_name)
print(evaluator.expected_input_format)
print(evaluator.expected_output_format)
用户可以了解此数据集的输入和输出的特定格式。然后,用户可以将输入字典传递给计算器,以查看实际性能:
# In most cases, input_dict is
# input_dict = {"y_true": y_true, "y_pred": y_pred}
result_dict = evaluator.eval(input_dict)
据悉,OGB已经正式指定上海AWS人工智能研究院的主要开源框架DGL作为数据导入平台之一。目前,DGL与PyTorch和MxNet作为后端引擎兼容,TensorFlow也在开发中。事实上,DGL已经做了很长一段时间的异构图形和可伸缩性工作,因此下一步可能是在相关领域将新技术与OGB结合起来,促进开源框架的发展。
PyGSP:Graph Signal Processing in Python
https://pygsp.readthedocs.io/en/stable/index.html
https://pygsp.readthedocs.io/en/stable/reference/index.html
Development: https://github.com/epfl-lts2/pygsp.git
https://github.com/wangg12/pygsp.git
networkx
https://pypi.org/project/networkx/
https://github.com/networkx/networkx
Website : http://networkx.github.io/
igraph:network analysis tools. igraph can be programmed in R, Python, Mathematica and C/C++.
graph-tools,Efficient network analysis
https://git.skewed.de/count0/graph-tool
https://graph-tool.skewed.de/static/doc/index.html
https://github.com/solstag/graph-tool
Agglomerative cluster tool (pip install agglomcluster)
https://github.com/MSeal/agglom_cluster
http://arxiv.org/pdf/cond-mat/0309508v1.pdf
因果关系推理,causal inference in graphs and in the pairwise settings
https://github.com/Diviyan-Kalainathan/CausalDiscoveryToolbox
https://diviyan-kalainathan.github.io/CausalDiscoveryToolbox/html/index.html
pip install cdt
Causal Discovery Toolbox: Uncover causal relationships in Python
https://arxiv.org/abs/1903.02278
补充两个网络可视化工具
Cytoscape: https://cytoscape.org/
Gephi: https://gephi.org/

浙公网安备 33010602011771号