class_docstr: Hypergraph Attention module as in the paper
  `Hypergraph Convolution and Hypergraph Attention
  <https://arxiv.org/pdf/1901.08150.pdf>`_.
class_docstr_tok: ["Hypergraph","Attention","module","as","in","the","paper","`","Hypergraph","Convolution","and","Hypergraph","Attention","<","https",":","\/\/arxiv.org\/pdf\/1901.08150.pdf",">","`","_","."]
code: def forward(self, H, X, X_edges):
      Z = self.P(X)
      Z_edges = self.P(X_edges)
      sim = self.a(torch.cat([Z[H.row], Z_edges[H.col]], 1))
      sim = F.leaky_relu(sim, 0.2).squeeze(1)
      # Reassign the hypergraph new weights.
      H_att = dglsp.val_like(H, sim)
      H_att = H_att.softmax()
      return hypergraph_laplacian(H_att) @ Z
  
imports: import argparse
  import dgl.sparse
  import torch
  import torch.nn
  import torch.nn.functional
  import tqdm
  from dgl.data import CoraGraphDataset
  from torchmetrics.functional import accuracy
label_desc: Use image node_id 2 for calling the HypergraphAttention obj's underlying member method code with example usage: obj.forward(H, X, X_edges) and returns: unknown