class_docstr: Approximate Personalized Propagation of Neural Predictions layer from `Predict then
  Propagate: Graph Neural Networks meet Personalized PageRank
  <https://arxiv.org/pdf/1810.05997.pdf>`__
  
  .. math::
      H^{0} &= X
  
      H^{l+1} &= (1-\alpha)\left(\tilde{D}^{-1/2}
      \tilde{A} \tilde{D}^{-1/2} H^{l}\right) + \alpha H^{0}
  
  where :math:`\tilde{A}` is :math:`A` + :math:`I`.
  
  Parameters
  ----------
  k : int
      The number of iterations :math:`K`.
  alpha : float
      The teleport probability :math:`\alpha`.
  edge_drop : float, optional
      The dropout rate on edges that controls the
      messages received by each node. Default: ``0``.
  
  Example
  -------
  >>> import dgl
  >>> import numpy as np
  >>> import mxnet as mx
  >>> from dgl.nn import APPNPConv
  >>>
  >>> g = dgl.graph(([0,1,2,3,2,5], [1,2,3,4,0,3]))
  >>> feat = mx.nd.ones((6, 10))
  >>> conv = APPNPConv(k=3, alpha=0.5)
  >>> conv.initialize(ctx=mx.cpu(0))
  >>> res = conv(g, feat)
  >>> res
  [[1.         1.         1.         1.         1.         1.
  1.         1.         1.         1.        ]
  [1.         1.         1.         1.         1.         1.
  1.         1.         1.         1.        ]
  [1.         1.         1.         1.         1.         1.
  1.         1.         1.         1.        ]
  [1.0303301  1.0303301  1.0303301  1.0303301  1.0303301  1.0303301
  1.0303301  1.0303301  1.0303301  1.0303301 ]
  [0.86427665 0.86427665 0.86427665 0.86427665 0.86427665 0.86427665
  0.86427665 0.86427665 0.86427665 0.86427665]
  [0.5        0.5        0.5        0.5        0.5        0.5
  0.5        0.5        0.5        0.5       ]]
  <NDArray 6x10 @cpu(0)>
code: def __init__(self, k, alpha, edge_drop=0.0):
      super(APPNPConv, self).__init__()
      self._k = k
      self._alpha = alpha
      with self.name_scope():
          self.edge_drop = nn.Dropout(edge_drop)
  
file_path: dgl/python/dgl/nn/mxnet/conv/appnpconv.py
imports: import mxnet
  from mxnet import nd
  from mxnet.gluon import nn
  from ....None import function
label_desc: Use image node_id 1 to create a new APPNPConv object from inherited base classes: nn with example: obj = APPNPConv(k, alpha, edge_drop)