dgl.function
dgl.function
dgl.function
这个子包包含DGL提供的所有内置函数,用于定义消息传递和聚合的函数。这些函数在图神经网络中用来处理消息传递机制,即从节点及其邻居中收集和聚合信息。
DGL Built-in Function(DGL内置函数)
Category | Functions |
---|---|
Unary message function | copy_u , copy_e |
u_add_v , u_sub_v , u_mul_v , u_div_v , u_dot_v |
|
u_add_e , u_sub_e , u_mul_e , u_div_e , u_dot_e |
|
Binary message function | v_add_u , v_sub_u , v_mul_u , v_div_u , v_dot_u |
v_add_e , v_sub_e , v_mul_e , v_div_e , v_dot_e |
|
e_add_u , e_sub_u , e_mul_u , e_div_u , e_dot_u |
|
e_add_v , e_sub_v , e_mul_v , e_div_v , e_dot_v |
|
Reduce function | max , min , sum , mean |
Message functions(消息函数)
dgl.function.copy_u
内置消息函数,使用源节点特征计算消息。
Usage: dgl.function.copy_u(u, out)
Parameters:
- u(str) 源节点特征字段
- out(str) 输出的消息字段
Example:
1 |
|
1 |
|
dgl.function.copy_e
内置消息函数,使用边特征计算消息。
Usage: dgl.function.copy_e(e, out)
Parameters:
- e(str) 边特征字段
- out(str) 输出的消息字段
Example:
1 |
|
1 |
|
dgl.function.u_add_v
内置的消息函数,如果特征具有相同的形状,则通过在u和v的特征之间执行逐元素相加来计算边缘上的消息;
否则,它首先将特征广播到新的形状并执行逐元素操作。
Usage: dgl.function.u_add_v(lhs_field, rhs_field, out)
Parameters:
- lhs_field(str) u的特征字段
- rhs_field(str) v的特征字段
- out(str) 输出的消息字段
Example:
1 |
|
dgl.function.u_sub_v
内置的消息函数,如果特征具有相同的形状,则通过在u和v的特征之间执行逐元素相减来计算边缘上的消息;
否则,它首先将特征广播到新的形状并执行逐元素操作。
Usage: dgl.function.u_sub_v(lhs_field, rhs_field, out)
Parameters:
- lhs_field(str) u的特征字段
- rhs_field(str) v的特征字段
- out(str) 输出的消息字段
Example:
1 |
|
dgl.function.u_mul_v
内置的消息函数,如果特征具有相同的形状,则通过在u和v的特征之间执行逐元素相乘来计算边缘上的消息;
否则,它首先将特征广播到新的形状并执行逐元素操作。
Usage: dgl.function.u_mul_v(lhs_field, rhs_field, out)
Parameters:
- lhs_field(str) u的特征字段
- rhs_field(str) v的特征字段
- out(str) 输出的消息字段
Example:
1 |
|
dgl.function.u_div_v
内置的消息函数,如果特征具有相同的形状,则通过在u和v的特征之间执行逐元素相除来计算边缘上的消息;
否则,它首先将特征广播到新的形状并执行逐元素操作。
Usage: dgl.function.u_div_v(lhs_field, rhs_field, out)
Parameters:
- lhs_field(str) u的特征字段
- rhs_field(str) v的特征字段
- out(str) 输出的消息字段
Example:
1 |
|
Reduce functions(规约函数)
dgl.function.sum
内置reduce函数,按总和聚合消息
Usage: dgl.function.sum(msg, out)
Parameters:
- msg(str) 消息字段
- out(str) 输出的节点特征字段
Example:
1 |
|
1 |
|
dgl.function.max
内置reduce函数,以最大值聚合消息。
Usage: dgl.function.max(msg, out)
Parameters:
- msg(str) 消息字段
- out(str) 输出的节点特征字段
Example:
1 |
|
1 |
|
dgl.function.min
内置reduce函数,以最小值聚合消息。
Usage: dgl.function.min(msg, out)
Parameters:
- msg(str) 消息字段
- out(str) 输出的节点特征字段
Example:
1 |
|
1 |
|
dgl.function.mean
内置reduce函数,以平均值聚合消息。
Usage: dgl.function.mean(msg, out)
Parameters:
- msg(str) 消息字段
- out(str) 输出的节点特征字段
Example:
1 |
|
1 |
|