参考:https://docs.dgl.ai/en/latest/api/python/udf.html
dgl.udf
用户定义函数(UDF)是配置消息传递计算的灵活方法。DGL中有两种类型的UDF:
- 签名的节点UDF。该参数表示一批节点。返回的字典应具有str类型键和tensor类型值。
NodeBatch -> dict
str
tensor
- 签名的边缘UDF。该参数表示一批边缘。返回的字典应具有str类型键和tensor类型值。
EdgeBatch -> dict
str
tensor
批处理维度的大小由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__()
返回此节点批处理中的节点数。
返回值: | |
---|---|
返回类型: | 整型 |