图神经网络task4

本文讨论了如何在数据集超过内存容量时训练神经网络,介绍了一个数据集类,它通过惰性迭代避免一次性加载所有数据。此外,文章强调了数据存于内存对于加速GPU运算的重要性,并分享了节点预测与边预测任务中SIGN模型的应用,探讨了是否需要深度图神经网络。文章列举了节点、边和图层面的三种任务类型。
摘要由CSDN通过智能技术生成

数据完全存于内存的数据集类

如何利用容量大于内存的数据集训练神经网络

在训练神经网络的时候,我们常常会遇到训练集大于RAM的情况。
如果直接暴力读取会出现MemoryError,那这个时候我们应该怎么办呢?
Dataset类在__init__()中把你的数据集全都遍历一遍,然后生成一个惰性迭代器。之后在你需要数据的时候,输入数据的index他就只会加载你需要的数据,而不是一下子全部加载到RAM中。那有人会问,你这不是还要遍历一遍完整的数据集吗,遍历的时候不是还是需要加载到RAM中吗?对没错,确实需要,但是遍历的时候只是让Dataset获取数据的keys.也就是为了得到数据集中每个sample的索引而遍历的,方便之后在__getitem__()中利用index找到你所需要的数据

数据完全存于内存可以加快速度

单一GPU每秒可执行万亿次浮点运算(TFLOPS),意味着其运算执行速度可达到普通CPU的10到1000倍。为了让GPU正常执行这些运算,数据必须存放在GPU内存当中。将数据加载至GPU内存中的速度越快,运算执行速度也就越快。其中的挑战在于如何优化I/O或网络操作,保证GPU在计算当中不必反复等待数据的传入。

节点预测与边预测任务实践

实际应用中SIGN表现出色

高效性和简便性,SIGN可作为基线图学习方法应用于不同大规模图数据。更重要的是,这种简单模型的成功引起我们的思考:是否真的需要深度图神经网络?发现在社交网络和“小世界”图学习的许多问题中,应该使用更丰富的本地结构,而不是野蛮的堆积深度架构。不过值得注意的是&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值