code: def aggregate_node_features(graph):
      efeat = graph.edge_feat["feat"]
      graph.edge_feat["feat"] = efeat
      nfeat = np.zeros(
          (graph.num_nodes, efeat.shape[-1]), dtype="float32"
      )
      edges_dst = graph.edges[:, 1]
      np_scatter(edges_dst, efeat, nfeat)
      nfeat = nfeat / np.sqrt(graph.indegree()).reshape(-1, 1)
      graph.node_feat["feat"] = nfeat
  
imports: import math
  import math
  import ssl
  from sklearn.metrics import roc_auc_score
  import torch
  import paddle
  import pgl
  import numpy
  import paddle.fluid
  import paddle.fluid.layers
  from pgl.contrib.ogb.nodeproppred.dataset_pgl import PglNodePropPredDataset
  import time
  import copy
  from ogb.nodeproppred import Evaluator
  import pickle
  from model import Proteins_baseline_model, Proteins_label_embedding_model
  from partition import RandomPartition
  from cross_edge_feat import cross_edge_feat
  from dataset.random_partition_dataset import RandomPartition
  import os
  import argparse
  from tqdm import tqdm
label_desc: Use image node_id 8 for calling a global function with example usage: aggregate_node_features(graph) without return types