通过此实践环节,我们学习了程序运行环境的配置、PyG中Data对象的生成与使用、以及PyG中Dataset对象的表示和使用。此节内容是图神经网络实践的基础,所涉及的内容是最常用、最基础的,在后面的内容中我们还将学到复杂Data类的构建,和复杂Dataset类的构建。 练习 请通过继承Data类实现一个类,专门用于表示“机构-作者-论文...
data=dataset[0]# Get the first graph object.print(data)print('===')# Gather some statistics about the graph.print(f'Number of nodes: {data.num_nodes}')print(f'Number of edges: {data.num_edges}')print(f'Average node degree: {(data.num_edges) / data.num_nodes:.2f}')print(f'Nu...
一直要我检查data_list数据结构等等 最后是询问torch_geometric.data.InMemoryDataset这个类到底在干嘛才发现原因# 创建自定义数据集dataset=MyDataset(data_list)
因为保存一个巨大的 python 列表速度非常慢,因此在保存前可以通过torch_geometric.data.InMemoryDataset.collate() 方法将列表整理成一个巨大的Data对象,再返回一个Data对象切片(slices)字典和一个Data对象重建的单个示例,最后我们需要在构造函数中将这两个对象加载到属性self.data 和 self.slices。 五、torch_geometric...
dataset=KarateClub()data=dataset[0] 1. 2. 4. 构建图神经网络模型 我们将使用Graph Convolutional Network (GCN)作为图神经网络模型。GCNConv是GCN的一层。 classGCN(torch.nn.Module):def__init__(self):super(GCN,self).__init__()self.conv1=GCNConv(dataset.num_features,16)self.conv2=GCNConv(16...
data_train,data_test=split_train_test(data)# Create dataset dataset_train=MyDataset(data_train)dataset_test=MyDataset(data_test) 当然,这还是要看具体做什么任务的,对某些任务来说可能只需要一张大图,对我来说可能就需要分成两张。 关于Embedding
torch.nn.BCEWithLogitsLoss())model = Net(dataset.num_features, 128, 64).to(device)optimizer = torch.optim.Adam(params=model.parameters(), lr=0.01)criterion = torch.nn.BCEWithLogitsLoss() 5. 构建训练函数 每个epoch调用一次训练函数。
dataset = Planetoid(root='/path/to/dataset', name='Cora', transform=T.NormalizeFeatures())data= dataset[0] print(data) AI代码助手复制代码 定义GCN模型 在定义PyG的GCN网络之前,需要定义Convolutional Layer,这个层以邻接矩阵A作为输入,通过权重权值矩阵W来散播消息,并输出一个新特征向量。
dataset=TUDataset(# 指定数据集的存储位置 # 如果指定位置没有相应的数据集 # PyG会自动下载 root='../data/ENZYMES',# 要使用的数据集 name='ENZYMES',)# 数据集的长度print(len(dataset))# 数据集的类别数print(dataset.num_classes)# 数据集中节点属性向量的维度print(dataset.num_node_features)#600个图...