块分解
- class BlockDecomposition(num_blocks: int | None = None, **kwargs)[来源]
基础类:
Decomposition通过块对角矩阵表示特定关系权重矩阵。
块对角分解将每个变换矩阵限制为块对角矩阵,即,
\[\mathbf{W}_r^l = diag(\mathbf{B}_{r,1}^l, \ldots, \mathbf{B}_{r,B}^l)\]其中 \(\mathbf{B}_{r,i} \in \mathbb{R}^{(d^{(l) }/ B) \times (d^{(l)} / B)}\).
该实现基于[thanapalasingam2021]的高效版本,该版本通过将邻接张量重塑为稀疏矩阵来支持通过单个稀疏矩阵乘法进行消息传递。
初始化层。
- Parameters:
num_blocks (int | None) – 块的数量。
kwargs – 传递给
Decomposition.__init__()的基于关键字的参数。
方法总结
forward_horizontally_stacked(x, adj)水平堆叠邻接矩阵的前向传递。
forward_vertically_stacked(x, adj)垂直堆叠邻接矩阵的前向传递。
遍历extra_repr的组件。
重置层的参数。
方法文档