图神经网络

news/2025/2/24 15:14:06

现在是下午四点,我今天醒的太晚了,十二点才起床,然后打打炉石看看小说,一晃就到现在了。不过真的蛮有意思的。我得开始学习了,毕竟时间很紧张,我需要尽快达到毕业要求。
补充一下,其实喜欢看网文,一个是想象力,一个是yy,毕竟现实生活中得不到的网文里幻想一下也不错。
之前我在github上找个了简单的神经网络的项目看了看代码,现在我要去找一个图神经网络的项目。
我找了一下,但是我发现与其去找github上面的代码,不如直接问deep seek。

1

import torch
import torch.nn.functional as F
from torch_geometric.datasets import Planetoid
from torch_geometric.nn import GCNConv

# 加载 Cora 数据集
dataset = Planetoid(root='data/Cora', name='Cora')
data = dataset[0]

# 定义 GCN 模型
class GCN(torch.nn.Module):
    def __init__(self, input_dim, hidden_dim, output_dim):
        super(GCN, self).__init__()
        self.conv1 = GCNConv(input_dim, hidden_dim)
        self.conv2 = GCNConv(hidden_dim, output_dim)

    def forward(self, x, edge_index):
        # 第一层 GCN
        x = self.conv1(x, edge_index)
        x = F.relu(x)
        x = F.dropout(x, training=self.training)
        # 第二层 GCN
        x = self.conv2(x, edge_index)
        return F.log_softmax(x, dim=1)

# 初始化模型
model = GCN(input_dim=dataset.num_features, hidden_dim=16, output_dim=dataset.num_classes)

# 定义优化器
optimizer = torch.optim.Adam(model.parameters(), lr=0.01, weight_decay=5e-4)

# 训练函数
def train():
    model.train()
    optimizer.zero_grad()
    out = model(data.x, data.edge_index)
    loss = F.nll_loss(out[data.train_mask], data.y[data.train_mask])
    loss.backward()
    optimizer.step()
    return loss.item()

# 测试函数
def test():
    model.eval()
    out = model(data.x, data.edge_index)
    pred = out.argmax(dim=1)
    correct = pred[data.test_mask] == data.y[data.test_mask]
    acc = int(correct.sum()) / int(data.test_mask.sum())
    return acc

# 训练和测试
for epoch in range(200):
    loss = train()
    if epoch % 10 == 0:
        acc = test()
        print(f'Epoch {epoch:03d}, Loss: {loss:.4f}, Test Acc: {acc:.4f}')

# 最终测试
acc = test()
print(f'Final Test Accuracy: {acc:.4f}')

2

我先把cora数据集下载到本地,赞美计算机,这个计算量人来干是不可能的。我感觉pycharm什么都能打开,比笔记本强多了。这个编号为35号的论文很强啊,像是后面的1033,103482什么的引用的都是它。
在这里插入图片描述
cora.content第一列很简单,无非就是论文编号嘛,后面的一大批01其实就是这1433个词会不会出现在论文里面,最后面还有一列,代表论文属于哪一类(一共有七个类)
在这里插入图片描述

3 planetoid方法

4

我终于看懂这个初始化模型是什么意思了

# 初始化模型
model = GCN(input_dim=dataset.num_features, hidden_dim=16, output_dim=dataset.num_classes)

其实神经网络的本质就是数学操作,矩阵操作,这个cora的节点特征矩阵就是一个2708行,1433列的二维矩阵,这个num_feature代表的是节点维度特征,这个model就是根据这1433个节点维度特征,这1433个关键词判断出这篇文章到底属于哪一类。所以这个模型就是通过两层图卷积,从1433映射为16再映射为7。

5

我看了这个图神经网络的代码,我就想说这和神经网络有什么区别,都是计算损失,都是反向传播。
我终于理解什么是边索引矩阵了,边索引矩阵要以一列为单位,上边是源点,下边是目标点。
区别在于神经网络是给每一个参数加权重,然后权重*参数,但是图神经网络是对矩阵进行操作
输出的时候也是如此,图神经网络要考虑到相邻的节点。

5

我看代码看的有点烦,我去刷刷申论行测什么的


http://www.niftyadmin.cn/n/5864508.html

相关文章

vscode代码补全 main

设置->配置用户代码片段->c(c.json)->填写如下信息 PS: new回车 自动补全 {"start c code": {"prefix": "new","body": ["#include <head.h>\n","int main(int argc,const char * argv[])","…

JAVAEE一>Spring IoC和DI详解

目录 Spring容器说明&#xff1a;Ioc容器优势&#xff1a;DI介绍&#xff1a;从Spring获取对象&#xff1a;获取对象的方法&#xff1a;关于上下文的概念&#xff1a; Controller注解&#xff08;控制层&#xff1a;接收参数并响应&#xff09;&#xff1a;Service注解&#xf…

内网网络安全的解决之道

本文简要分析了企业内部网络所面临的主要分析&#xff0c;阐述了安全管理人员针对不同威胁的主要技术应对措施。进一步介绍了业界各种技术措施的现状&#xff0c;并提出了未来可能的发展趋势。 内网网络安全问题的提出 网络安全对于绝大多数人而言指的都是互联网安全&#xff…

【Blender】二、建模篇--07,置换修改器

0 00:00:03,620 --> 00:00:08,620 大家好 这张课呢 我们来讲建模篇的最后一个重点修改器 置换修改器 1 00:00:08,980 --> 00:00:17,580 把它放在最后 不是因为它最难 而是因为它很常用 尤其大家以后做材质的时候 我们可以用一张贴图把一个平面做出来凹凸的感觉 2 00:00…

mysql中union all和WITH ROLLUP实现汇总的两种方式

目录 一、场景需求 二、UNION ALL实现方式 三、WITH ROLLUP实现方式 四、对比总结 一、场景需求 假设存在销售记录表sales&#xff1a; CREATE TABLE sales (sale_date DATE,product VARCHAR(50),amount DECIMAL(10,2) );需要实现&#xff1a;1. 按日统计总销售额 2. 按产…

Docker挂载数据显式挂载和隐式挂载的区别

项目使用的Docker file 创建数据卷挂载点&#xff0c;结果发现宿主机目录中的数据卷路径下是空的&#xff0c;才知道docker file中创建的数据卷是隐式挂载&#xff0c;并不会在宿主机上留下持久化数据&#xff0c;随着容器被删除隐式挂载的数据卷也会跟着被删除 后面改为在jen…

php处理图片出现内存溢出(Allowed memory size of 134217728 bytes exhausted)

错误&#xff1a; 最近做图片上传功能时发现上传某些图片时报内存溢出错误。如下所示&#xff1a; {"code": 0,"msg": "Allowed memory size of 134217728 bytes exhausted (tried to allocate 24576 bytes)","data": {"code&q…

智慧废品回收小程序php+uniapp

废品回收小程序&#xff1a;数字化赋能环保&#xff0c;开启资源循环新时代 城市垃圾治理难题&#xff0c;废品回收小程序成破局关键 随着城市化进程加速与消费水平提升&#xff0c;我国生活垃圾总量逐年攀升&#xff0c;年均增速达5%-8%&#xff0c;其中超30%为可回收物。然…