参考:https://docs.dgl.ai/en/latest/api/python/udf.html
dgl.udf
用户定义函数(UDF)是配置消息传递计算的灵活方法。DGL中有两种类型的UDF:
- 签名的节点UDF。该参数表示一批节点。返回的字典应具有str类型键和tensor类型值。
NodeBatch -> dictstrtensor - 签名的边缘UDF。该参数表示一批边缘。返回的字典应具有str类型键和tensor类型值。
EdgeBatch -> dictstrtensor
批处理维度的大小由DGL框架确定,以实现良好的效率和较小的内存占用。用户不应在批次维度中进行假设。
EdgeBatch
可以表示一批边的类。
EdgeBatch.src | 返回源节点的特征数据。 |
EdgeBatch.dst | 返回目标节点的特征数据。 |
EdgeBatch.data | 返回边的特征数据。 |
EdgeBatch.edges() | 返回此批处理中包含的边。 |
EdgeBatch.batch_size() | 返回此边缘批处理中的边缘数。 |
EdgeBatch.__len__() | 返回此边缘批处理中的边缘数。 |
NodeBatch
可以表示一批节点的类。
NodeBatch.data | 返回节点特征数据。 |
NodeBatch.mailbox | 返回收到的消息。 |
NodeBatch.nodes() | 返回此批处理中包含的节点。 |
NodeBatch.batch_size() | 返回此批次中的节点数。 |
NodeBatch.__len__() | 返回此节点批处理中的节点数。 |
dgl.udf.EdgeBatch.src
EdgeBatch.src
返回源节点的特征数据。
| 返回值: | 源节点的特征数据。 |
|---|---|
| 返回类型: | 带str键和张量值的字典 |
dgl.udf.EdgeBatch.dst
EdgeBatch.dst
返回目标节点的特征数据。
| 返回值: | 目标节点的特征数据。 |
|---|---|
| 返回类型: | 带str键和张量值的字典 |
dgl.udf.EdgeBatch.data
EdgeBatch.data
返回边缘特征数据。
| 返回值: | 边缘特征。 |
|---|---|
| 返回类型: | 带str键和张量值的字典 |
dgl.udf.EdgeBatch.edges
EdgeBatch.edges()
返回此批处理中包含的边。
| 返回值: | 边缘元组 (src,dst,eid)(src,dst,eid)。 src[i],dst[i],eid[i]src[i],dst[i],eid[i] 分别为批次中的第i条边指定源节点,目标节点和边ID。 |
|---|---|
| 返回类型: | 三个张量的元组 |
dgl.udf.EdgeBatch.batch_size
EdgeBatch.batch_size()
返回此边缘批处理中的边缘数。
| 返回值: | |
|---|---|
| 返回类型: | 整型 |
dgl.udf.EdgeBatch .__ len__
EdgeBatch.__len__()
返回此边缘批处理中的边缘数。
| 返回值: | |
|---|---|
| 返回类型: | 整型 |
dgl.udf.NodeBatch.data
NodeBatch.data
返回节点特征数据。
| 返回值: | 节点的功能。 |
|---|---|
| 返回类型: | 带str键和张量值的字典 |
dgl.udf.NodeBatch.mailbox
NodeBatch.mailbox
返回收到的消息。
如果未收到任何消息,None将返回a。
| 返回值: | 消息节点已收到。如果是dict,则键为 str,值为tensor。 |
|---|---|
| 返回类型: | dict或无 |
dgl.udf.NodeBatch.nodes
NodeBatch.nodes()
返回此批处理中包含的节点。
| 返回值: | 节点。 |
|---|---|
| 返回类型: | 张量 |
dgl.udf.NodeBatch.batch_size
NodeBatch.batch_size()
返回此批次中的节点数。
| 返回值: | |
|---|---|
| 返回类型: | 整型 |
dgl.udf.NodeBatch .__ len__
NodeBatch.__len__()
返回此节点批处理中的节点数。
| 返回值: | |
|---|---|
| 返回类型: | 整型 |
本文深入探讨了DGL用户定义函数(UDF)的概念及其在消息传递计算中的应用。介绍了NodeBatch和EdgeBatch类,以及如何使用它们处理节点和边缘特征数据。详细解释了源节点、目标节点和边缘特征数据的获取方法。
912

被折叠的 条评论
为什么被折叠?



