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 (str 或 list) – 缩放函数标识符的集合,即一个或多个
"identity","amplification","attenuation","linear"和"inverse_linear"。deg (Tensor) – 训练集中节点的入度直方图,用于缩放器进行归一化。
aggr_kwargs (Dict[str, Any], optional) – 传递给相应聚合函数的参数,以防它被自动解析。(默认值:
None)
- 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) – 用于应用聚合的元素的索引。 必须定义
index或ptr中的一个。 (默认值:None)ptr (torch.Tensor, optional) – 如果给定,则基于CSR表示中的排序输入计算聚合。 必须定义
index或ptr中的一个。 (默认:None)dim (int, optional) – 聚合的维度。 (default:
-2)max_num_elements – (int, 可选): 单个聚合组中的最大元素数量。(默认:
None)
- Return type: