torch_geometric.nn.aggr.DegreeScalerAggregation

class DegreeScalerAggregation(aggr: Union[str, List[str], Aggregation], scaler: Union[str, List[str]], deg: Tensor, train_norm: bool = False, aggr_kwargs: Optional[List[Dict[str, Any]]] = None)[source]

Bases: Aggregation

结合一个或多个聚合器,并使用一个或多个缩放器转换其输出,如“Principal Neighbourhood Aggregation for Graph Nets”论文中介绍的。 缩放器通过训练集的入度进行归一化,因此必须在构建时提供。 有关更多信息,请参见torch_geometric.nn.conv.PNAConv

Parameters:
  • aggr (str[str] 或 Aggregation) – 使用的聚合方案。 有关更多信息,请参见 MessagePassing

  • scaler (strlist) – 缩放函数标识符的集合,即一个或多个"identity", "amplification", "attenuation", "linear""inverse_linear"

  • deg (Tensor) – 训练集中节点的入度直方图,用于缩放器进行归一化。

  • train_norm (bool, optional) – 归一化参数是否可训练。(默认: False)

  • aggr_kwargs (Dict[str, Any], optional) – 传递给相应聚合函数的参数,以防它被自动解析。(默认值:None

reset_parameters()[source]

重置模块的所有可学习参数。

forward(x: Tensor, index: Optional[Tensor] = None, ptr: Optional[Tensor] = None, dim_size: Optional[int] = None, dim: int = -2) Tensor[source]

前向传播。

Parameters:
  • x (torch.Tensor) – 源张量。

  • index (torch.Tensor, optional) – 用于应用聚合的元素的索引。 必须定义 indexptr 中的一个。 (默认值: None)

  • ptr (torch.Tensor, optional) – 如果给定,则基于CSR表示中的排序输入计算聚合。 必须定义 indexptr 中的一个。 (默认: None)

  • dim_size (int, optional) – 聚合后输出张量在维度 dim 的大小。(默认值:None

  • dim (int, optional) – 聚合的维度。 (default: -2)

  • max_num_elements – (int, 可选): 单个聚合组中的最大元素数量。(默认: None)

Return type:

Tensor