torch_geometric.transforms.HalfHop

class HalfHop(alpha: float = 0.5, p: float = 1.0)[source]

Bases: BaseTransform

来自“Half-Hop: A Graph Upsampling Approach for Slowing Down Message Passing”论文的图上采样增强方法。通过在邻居之间添加人工慢节点来增强图,以减缓消息传播速度。(函数名称:half_hop)。

注意

HalfHop 增强不支持如果 dataedge_weightedge_attr

Parameters:
  • alpha (float, optional) – 用于计算慢节点特征的插值因子 \(x = \alpha*x_src + (1-\alpha)*x_dst\) (默认值: 0.5)

  • p (float, optional) – 边缘半跳跃的概率。(默认值:1.0

import torch_geometric.transforms as T

transform = T.HalfHop(alpha=0.5)
data = transform(data)  # Apply transformation.
out = model(data.x, data.edge_index)  # Feed-forward.
out = out[~data.slow_node_mask]  # Get rid of slow nodes.