code: def link_predict_model(
      num_nodes,
      hidden_size=16,
      name="link_predict_task",
      binary_op_type="Weighted-L2",
  ):
      pyreader = l.py_reader(
          capacity=70,
          shapes=[[-1, 1], [-1, 1], [-1, 1]],
          dtypes=["int64", "int64", "int64"],
          lod_levels=[0, 0, 0],
          name=name + "_pyreader",
          use_double_buffer=True,
      )
      u, v, label = l.read_file(pyreader)
      u_embed = l.embedding(
          input=u,
          size=[num_nodes, hidden_size],
          param_attr=fluid.ParamAttr(name="content"),
      )
      v_embed = l.embedding(
          input=v,
          size=[num_nodes, hidden_size],
          param_attr=fluid.ParamAttr(name="content"),
      )
      u_embed.stop_gradient = True
      v_embed.stop_gradient = True
  
      edge_embed = binary_op(u_embed, v_embed, binary_op_type)
      logit = l.fc(input=edge_embed, size=1)
      loss = l.sigmoid_cross_entropy_with_logits(
          logit, l.cast(label, "float32")
      )
      loss = l.reduce_mean(loss)
  
      prob = l.sigmoid(logit)
      return pyreader, loss, prob, label
  
file_path: PGL/legacy/examples/deepwalk/link_predict.py
imports: import argparse
  import time
  import math
  import os
  import numpy
  from sklearn import metrics
  import pgl
  from pgl import data_loader
  from pgl.utils import op
  from pgl.utils.logger import log
  import paddle.fluid
  import paddle.fluid.layers
label_desc: Use image node_id 3 for calling a global function with example usage: link_predict_model(num_nodes, hidden_size, name, binary_op_type) and returns: pyreader,  loss,  prob,  label