code: def node_classify_model(
      graph, num_labels, embed_dim=16, name="node_classify_task"
  ):
      """Build node classify model.
  
      Args:
          graph: The :code:`Graph` data object.
  
          num_labels: The number of labels.
  
          embed_dim: The dimension of embedding.
  
          name: The name of the model.
      """
      pyreader = l.py_reader(
          capacity=70,
          shapes=[[-1, 1], [-1, num_labels]],
          dtypes=["int64", "float32"],
          lod_levels=[0, 0],
          name=name + "_pyreader",
          use_double_buffer=True,
      )
      nodes, labels = l.read_file(pyreader)
      embed_nodes = l.embedding(
          input=nodes,
          size=[graph.num_nodes, embed_dim],
          param_attr="shared_w",
      )
      embed_nodes.stop_gradient = True
      logits = l.fc(input=embed_nodes, size=num_labels)
      loss = l.sigmoid_cross_entropy_with_logits(logits, labels)
      loss = l.reduce_mean(loss)
      prob = l.sigmoid(logits)
      topk = l.reduce_sum(labels, -1)
      return {
          "pyreader": pyreader,
          "loss": loss,
          "prob": prob,
          "labels": labels,
          "topk": topk,
      }
  
file_path: PGL/legacy/examples/line/multi_class.py
imports: import argparse
  import time
  import math
  import os
  import random
  import numpy
  import sklearn.metrics
  from sklearn.metrics import f1_score
  import pgl
  from pgl.utils import op
  import paddle.fluid
  import paddle.fluid.layers
  from pgl.utils.logger import log
  from data_loader import FlickrDataset
label_desc: Use image node_id 3 for calling a global function with example usage: node_classify_model(graph, num_labels, embed_dim, name) and returns: dict