支持异构图、集成GraphGym!超好用的图神经网络库PyG更新2.0版本
当前最流行和广泛使用的 GNN 库 PyG(PyTorch Geometric)现在出 2.0 版本了,新版本提供了全面的异构图支持、GraphGam 以及很多其他特性,这一系列改进,为使用者带来了更好的用户体验。


from torch_geometric.data import HeteroDatadata = HeteroData()# Create two node types 'paper' and 'author' holding a single feature matrix:
data['paper'].x = torch.randn(num_papers, num_paper_features)data['author'].x = torch.randn(num_authors, num_authors_features)# Create an edge type ('paper', 'written_by', 'author') holding its graph connectivity:data['paper', 'written_by', 'author'].edge_index = ... # [2, num_edges]from torch_geometric.loader import DataLoaderloader = DataLoader(heterogeneous_graph_dataset, batch_size=32, shuffle=True)from torch_geometric.loader import NeighborLoaderloader = NeighborLoader(heterogeneous_graph, num_neighbors=[30, 30], batch_size=128, input_nodes=('paper', data['paper'].train_mask), shuffle=True)from torch_geometric.nn import SAGEConv, to_hetero
class GNN(torch.nn.Module): def __init__(hidden_channels, out_channels): super().__init__() self.conv1 = SAGEConv((-1, -1), hidden_channels) self.conv2 = SAGEConv((-1, -1), out_channels)
def forward(self, x, edge_index): x = self.conv1(x, edge_index).relu() x = self.conv2(x, edge_index) return x
model = GNN(hidden_channels=64, out_channels=dataset.num_classes)model = to_hetero(model, data.metadata(), aggr='sum')
GraphGym 是开始学习标准化 GNN 实现和评估的最佳平台;
GraphGym 提供了一个简单的接口来并行尝试数千个 GNN 架构,以找到适合特定任务的最佳设计;
GraphGym 可轻松进行超参数搜索并可视化哪些设计选择更好。

def __cat_dim__(self, key, value, *args, **kwargs): passdef __inc__(self, key, value, *args, **kwargs): pass


TensorFlow 学习资料下载
赞 (0)
