当前位置: 首页 > news >正文

常州网站建设公司信息精品ppt模板免费下载

常州网站建设公司信息,精品ppt模板免费下载,网站开发用linux,查询建设公司业绩网站图神经网络-pyG-GAT 在上一章节介绍了pyG-GCN的使用#xff0c;除了GCN#xff0c;还有一些像GAT、GraphSage等等一些#xff0c;本文将介绍GAT模型的构建 实现了一个使用Graph Attention Network#xff08;GAT#xff09;的节点分类模型#xff0c;该模型在Cora数据集上…图神经网络-pyG-GAT 在上一章节介绍了pyG-GCN的使用除了GCN还有一些像GAT、GraphSage等等一些本文将介绍GAT模型的构建 实现了一个使用Graph Attention NetworkGAT的节点分类模型该模型在Cora数据集上进行训练和测试。 首先导入所需的库和模块 torch_geometric.datasets.Planetoid用于加载Cora数据集。torchPyTorch的主要库。torch.nn.functional as FPyTorch的神经网络函数模块用于定义神经网络的层和操作。torch_geometric.nn.GATConvPyTorch Geometric库中的图注意力网络层Graph Attention NetworkGATConv。torch_geometric.nn.GATConvPyTorch Geometric库中的图注意力网络层Graph Attention NetworkGATConv。 加载Cora数据集 dataset Planetoid(root./tmp/Cora, nameCora)这行代码加载了Cora数据集该数据集包括节点特征、图的边缘信息以及节点的真实标签。 定义一个名为GAT_Net的神经网络类 class GAT_Net(torch.nn.Module):这个类继承自PyTorch的torch.nn.Module基类表示它是一个神经网络模型。 在GAT_Net类的构造函数中定义了两个GAT层 def __init__(self, features, hidden, classes, heads1):super(GAT_Net, self).__init__()self.gat1 GATConv(features, hidden, headsheads)self.gat2 GATConv(hidden * heads, classes)GATConv层是图注意力网络层用于从图数据中提取特征。self.gat1是第一个GATConv层它将输入特征的维度设置为features输出hidden维特征同时可以指定heads的数量。self.gat2是第二个GATConv层将hidden * heads维特征映射到classes个类别。 在forward方法中定义了前向传播过程 def forward(self, data):x, edge_index data.x, data.edge_indexx self.gat1(x, edge_index)x F.relu(x)x F.dropout(x, trainingself.training)x self.gat2(x, edge_index)return F.log_softmax(x, dim1)输入数据data包括节点特征x和边索引edge_index。self.gat1和self.gat2分别表示第一层和第二层的图注意力网络操作。使用ReLU激活函数进行非线性变换。使用Dropout层进行正则化。最后通过F.log_softmax对输出进行softmax操作以得到每个节点属于不同类别的概率分布。 检查并设置GPU或CPU设备 device torch.device(cuda if torch.cuda.is_available() else cpu)这段代码会检查你的系统是否有可用的GPU并将device设置为GPU或CPU以便在相应的设备上运行模型。 创建并将模型移动到所选设备上 model GAT_Net(dataset.num_node_features, 16, dataset.num_classes, heads4).to(device)这将实例化GAT_Net模型并将模型的参数和计算移动到GPU或CPU上。heads参数指定了GAT中的注意力头数量。 加载Cora数据集的第一个图数据实例 data dataset[0]这将加载Cora数据集的第一个图数据实例包括节点特征、图的边缘信息以及节点的真实标签。 定义优化器这里使用Adam优化器 optimizer torch.optim.Adam(model.parameters(), lr0.01)这行代码创建一个Adam优化器并将模型的参数传递给它用于模型参数的更新。学习率为0.01。 将模型设置为训练模式 model.train()这行代码将模型切换到训练模式以启用训练时的特定操作如Dropout。 开始训练循环训练模型200个epoch for epoch in range(200):这是一个训练循环将模型训练200次。 在每个epoch中首先将优化器的梯度清零 optimizer.zero_grad()这行代码用于清除之前的梯度信息以准备计算新的梯度。 通过模型前向传播计算预测结果 out model(data)这会将数据传递给你的GAT模型然后返回模型的预测结果。 计算损失函数这里使用负对数似然损失Negative Log-Likelihood Loss loss F.nll_loss(out[data.train_mask], data.y[data.train_mask])这行代码计算了在训练节点子集上的负对数似然损失。data.train_mask指定了用于训练的节点子集data.y是节点的真实标签。 反向传播和参数更新 loss.backward() optimizer.step()这两行代码用于计算梯度并执行梯度下降更新模型的参数以最小化损失函数。 from torch_geometric.datasets import Planetoid import torch import torch.nn.functional as F from torch_geometric.nn import GCNConv, SAGEConv, GATConvdataset Planetoid(root./tmp/Cora,nameCora) class GAT_Net(torch.nn.Module):def __init__(self, features, hidden, classes, heads1):super(GAT_Net, self).__init__()self.gat1 GATConv(features, hidden, headsheads)self.gat2 GATConv(hidden*heads, classes)def forward(self, data):x, edge_index data.x, data.edge_indexx self.gat1(x, edge_index)x F.relu(x)x F.dropout(x, trainingself.training)x self.gat2(x, edge_index)return F.log_softmax(x, dim1) device torch.device(cuda if torch.cuda.is_available() else cpu) model GAT_Net(dataset.num_node_features, 16, dataset.num_classes, heads4).to(device) data dataset[0] optimizer torch.optim.Adam(model.parameters(), lr0.01)model.train() for epoch in range(200):optimizer.zero_grad()out model(data)loss F.nll_loss(out[data.train_mask], data.y[data.train_mask])loss.backward()optimizer.step()model.eval() _, pred model(data).max(dim1) correct pred[data.test_mask].eq(data.y[data.test_mask]).sum() acc int(correct)/ int(data.test_mask.sum()) print(GAT,acc)
http://www.pierceye.com/news/49893/

相关文章:

  • 美食网站设计目的个人网站代码编写
  • 提供零基础网站建设教学培训wordpress 群晖 局域网
  • dw网站建设怎么放在网上wordpress英文导航模板
  • wordpress网站模版永登网站设计与建设
  • 网站中木马怎么办推广软文范例大全500
  • 手机端网站开发价格朝阳网络推广公司
  • 网站建设优化过程中的优化策略网站建设招标评分标准
  • 网站建设云服务做番号网站的 违法
  • 网站 文章排版健康陕西app管理端最新版
  • 浏览器网站建设的步骤过程oppo商城
  • 网站平台建设方案wordpress 七牛
  • 山东新华电脑学院学网站开发wordpress词汇插件
  • 建设工程安全管理网站郴州人为什么不像湖南人
  • seo站长工具推广平台行业门户网站大全
  • 给网站做seo诊断山东城市建设职业学院图书馆网站
  • 四川泰龙建设集团公司官方网站帮网站做关键词排名优化
  • 网站建设项目招标标书黄金网站app软件下载安装免费
  • 网站开发需求分析内容wordpress添加支付
  • 客户对网站建设公司的评价做跨境电商网站有哪些
  • 深圳福田住房和建设局网站电影网站制作
  • 福建建设资格管理中心网站天津做网站美工
  • go语言可以做网站吗什么网站做推广好
  • 网站推广策划案例滨州建设网站
  • 顺德网站建设包括哪些微信营销推广
  • 网站底部显示百度站点地图公司年前做网站好处
  • 做影视网站被告怎么办上海网站域名注册
  • 做暧小视频xo网站建筑网站 知乎
  • 大型网站 div南通企业自助建站
  • 辽阳太子河网站建设东莞网站推广方案
  • 东营网站建设方案范文wordpress 获取图片路径