dgl.ops.gspmm¶
-
dgl.ops.
gspmm
(g, op, reduce_op, lhs_data, rhs_data)[source]¶ Generalized Sparse Matrix Multiplication interface. It fuses two steps into one kernel.
Computes messages by
op
source node and edge features.Aggregate the messages by
reduce_op
as the features on destination nodes.
\[x_v = \psi_{(u, v, e)\in \mathcal{G}}(\rho(x_u, x_e))\]where \(x_v\) is the returned feature on destination nodes, and \(x_u\), \(x_e\) refers to
u
,e
respectively. \(\rho\) means binary operatorop
and \(\psi\) means reduce operatorreduce_op
, \(\mathcal{G}\) is the graph we apply gspmm on:g
.Note that this function does not handle gradients.
- Parameters
g (DGLGraph) – The input graph.
op (str) – The binary op’s name, could be
add
,sub
,mul
,div
,copy_lhs
,copy_rhs
.reduce_op (str) – Reduce operator, could be
sum
,max
,min
,mean
.lhs_data (tensor or None) – The left operand, could be None if it’s not required by the op.
rhs_data (tensor or None) – The right operand, could be None if it’s not required by the op.
- Returns
The result tensor.
- Return type
tensor