DegreeEncoder
class dgl.nn.pytorch.gt.DegreeEncoder(max_degree, embedding_dim, direction='both')
Do Transformers Really Perform Bad for Graph Representation中介绍的度编码器(Degree Encoder)
这个模块是一个可学习的度嵌入模块。
Parameters
- max_degree(int) - 要编码的度数的上限。每个度数都将被限制在范围[0,max_degree]内。
- embedding_dim(int) - 嵌入向量的输出维数。
- direction(str, optional) - 要编码的度数方向。选项包括
in
,out
和both
。both
都对两个方向的度进行编码并输出它们的相加。默认值:both
。
forward(degrees)
Parameters
degrees(Tensor) - -如果direction
是both
,则应该以具有零填充的批处理图的入度和出度进行堆叠,形状为(2,B,N)
的张量。 否则,它应该在批处理的度数或度数外填充零。图,一个形状为(B,N)
的张量,其中B
是批量大小,N
是最大节点数。
Returns
返回形状为(B,N,d)
的度嵌入向量, 其中d
是embedding_dim
。
Return type
torch.Tensor
源代码
1 |
|
Example
Example1:
1 |
|
DegreeEncoder
http://jiqingjiang.github.io/p/b75828bf/