class_docstr: Multi-Head Attention block, used in Transformer, Set Transformer and so on
  
  Parameters
  ----------
  d_model : int
      The feature size (input and output) in Multi-Head Attention layer.
  num_heads : int
      The number of heads.
  d_head : int
      The hidden size per head.
  d_ff : int
      The inner hidden size in the Feed-Forward Neural Network.
  dropouth : float
      The dropout rate of each sublayer.
  dropouta : float
      The dropout rate of attention heads.
  
  Notes
  -----
  This module was used in SetTransformer layer.
class_docstr_tok: ["Multi-Head","Attention","block",",","used","in","Transformer",",","Set","Transformer","and","so","on","Parameters","--","--","--","--","--","d_model",":","int","The","feature","size","(","input","and","output",")","in","Multi-Head","Attention","layer",".","num_heads",":","int","The","number","of","heads",".","d_head",":","int","The","hidden","size","per","head",".","d_ff",":","int","The","inner","hidden","size","in","the","Feed-Forward","Neural","Network",".","dropouth",":","float","The","dropout","rate","of","each","sublayer",".","dropouta",":","float","The","dropout","rate","of","attention","heads",".","Notes","--","--","-","This","module","was","used","in","SetTransformer","layer","."]
docstr: Reinitialize learnable parameters.
docstr_tok: ["Reinitialize","learnable","parameters","."]
code: def reset_parameters(self):
      """Reinitialize learnable parameters."""
      for p in self.parameters():
          if p.dim() > 1:
              nn.init.xavier_uniform_(p)
  
imports: import numpy
  import torch
  import torch.nn
  from ...backend import pytorch
  from ...base import dgl_warning
  from ...readout import broadcast_nodes, max_nodes, mean_nodes, softmax_nodes, sum_nodes, topk_nodes
label_desc: Use image node_id 2 for calling the MultiHeadAttention obj's underlying member method code with example usage: obj.reset_parameters() without return types