class_docstr: Represent relation-specific weight matrices via block-diagonal matrices.
  
  The block-diagonal decomposition restricts each transformation matrix to a block-diagonal-matrix, i.e.,
  
  .. math::
  
      \mathbf{W}_r^l = diag(\mathbf{B}_{r,1}^l, \ldots, \mathbf{B}_{r,B}^l)
  
  where $\mathbf{B}_{r,i} \in \mathbb{R}^{(d^{(l) }/ B) \times (d^{(l)} / B)}$.
  
  The implementation is based on the efficient version of [thanapalasingam2021]_, which uses a reshaping of the
  adjacency tensor into a sparse matrix to support message passing by a single sparse matrix multiplication.
  
  .. seealso ::
      https://github.com/thiviyanT/torch-rgcn/blob/267faffd09a441d902c483a8c130410c72910e90/torch_rgcn/layers.py#L450-L565
class_docstr_tok: ["Represent","relation-specific","weight","matrices","via","block-diagonal","matrices",".","The","block-diagonal","decomposition","restricts","each","transformation","matrix","to","a","block-diagonal-matrix",",","i.e.",",","..","math",":",":","\\mathbf","{","W","}","_r^l","=","diag","(","\\mathbf","{","B","}","_","{","r,1","}","^l",",","\\ldots",",","\\mathbf","{","B","}","_","{","r",",","B","}","^l",")","where","$","\\mathbf","{","B","}","_","{","r",",","i","}","\\in","\\mathbb","{","R","}","^","{","(","d^","{","(","l",")","}","\/","B",")","\\times","(","d^","{","(","l",")","}","\/","B",")","}","$",".","The","implementation","is","based","on","the","efficient","version","of","[","thanapalasingam2021","]","_",",","which","uses","a","reshaping","of","the","adjacency","tensor","into","a","sparse","matrix","to","support","message","passing","by","a","single","sparse","matrix","multiplication",".","..","seealso",":",":","https",":","\/\/github.com\/thiviyanT\/torch-rgcn\/blob\/267faffd09a441d902c483a8c130410c72910e90\/torch_rgcn\/layers.py","#","L450-L565"]
docstr: Reset the layer's parameters.
code: def reset_parameters(self):
      """Reset the layer's parameters."""
      xavier_normal_(self.blocks.data)
  
imports: import logging
  import math
  from abc import ABC, abstractmethod
  from typing import Any, Iterable, Mapping, Optional, Sequence
  import torch
  from class_resolver import ClassResolver, Hint, HintOrType, OptionalKwargs
  from class_resolver.contrib.torch import activation_resolver
  from docdata import parse_docdata
  from torch import nn
  from .init import uniform_norm_p1_, xavier_normal_
  from .representation import LowRankRepresentation, Representation
  from .utils import ShapeError, adjacency_tensor_to_stacked_matrix, use_horizontal_stacking
  from .weighting import EdgeWeighting, edge_weight_resolver
  from ..triples import CoreTriplesFactory
  from ..utils import ExtraReprMixin, einsum
label_desc: Use image node_id 2 for calling the BlockDecomposition obj's underlying member method code with example usage: obj.reset_parameters() without return types