code: def forward(self, graph, feature, norm=None):
      coe_tmp = F.relu(self.temp)
      coe = coe_tmp.clone()
  
      norm = GF.degree_norm(graph)
      for i in range(self.K + 1):
          coe[i] = coe_tmp[0] * cheby(
              i, math.cos((self.K + 0.5) * math.pi / (self.K + 1))
          )
          for j in range(1, self.K + 1):
              x_j = math.cos(
                  (self.K - j + 0.5) * math.pi / (self.K + 1)
              )
              coe[i] = coe[i] + coe_tmp[j] * cheby(i, x_j)
          coe[i] = 2 * coe[i] / (self.K + 1)
  
      Tx_0 = feature
      feature = Tx_0 * norm
      feature = graph.send_recv(feature, reduce_func="sum")
      Tx_1 = feature * norm
  
      out = coe[0] / 2 * Tx_0 + coe[1] * Tx_1
  
      for i in range(2, self.K + 1):
          feature = Tx_1 * norm
          feature = graph.send_recv(feature, reduce_func="sum")
          Tx_2 = feature * norm
  
          Tx_2 = 2 * Tx_2 - Tx_0
          out = out + coe[i] * Tx_2
          Tx_0, Tx_1 = Tx_1, Tx_2
      return out
  
file_path: PGL/examples/chebnetii/propagation.py
imports: import numpy
  import paddle
  import paddle.nn
  import paddle.nn.functional
  import pgl
  from pgl.nn import functional
  import math
  from utils import cheby
label_desc: Use image node_id 2 for calling the ChebProp obj's underlying member method code with example usage: obj.forward(graph, feature, norm) and returns: out