class_docstr: LADIES layer from `Layer-Dependent Importance Sampling
  for Training Deep and Large Graph Convolutional Networks
  <https://arxiv.org/abs/1911.07323.pdf>`__
class_docstr_tok: ["LADIES","layer","from","`","Layer-Dependent","Importance","Sampling","for","Training","Deep","and","Large","Graph","Convolutional","Networks","<","https",":","\/\/arxiv.org\/abs\/1911.07323.pdf",">","`","__"]
code: def forward(self, A, feat):
      feat_src = feat
      feat_dst = feat[: A.shape[1]]
  
      # Aggregator type: mean.
      srcdata = self.fc_neigh(feat_src)
      # Divided by degree.
      D_hat = dglsp.diag(A.sum(0)) ** -1
      A_div = A @ D_hat
      # Conv neighbors.
      dstdata = A_div.T @ srcdata
  
      rst = self.fc_self(feat_dst) + dstdata
      return rst
  
imports: import argparse
  import dgl.sparse
  import torch
  import torch.nn
  import torch.nn.functional
  import torchmetrics.functional
  from dgl.data import AsNodePredDataset
  from dgl.sparse import sp_broadcast_v
  from ogb.nodeproppred import DglNodePropPredDataset
label_desc: Use image node_id 3 for calling the SAGEConv obj's underlying member method code with example usage: obj.forward(A, feat) and returns: rst