code: def produce_model(exe, program, dataset, model, feed_dict):
      """Output the learned model parameters for testing."""
      edge_types = dataset.edge_types
      num_nodes = dataset.graph[edge_types[0]].num_nodes
      edge_types_count = len(edge_types)
      neg_num = dataset.config["neg_num"]
  
      final_model = {}
      feed_dict["train_inputs"] = np.array(
          [n for n in range(num_nodes)], dtype=np.int64
      ).reshape(
          -1,
      )
      feed_dict["train_labels"] = np.array(
          [n for n in range(num_nodes)], dtype=np.int64
      ).reshape(-1, 1, 1)
      feed_dict["train_negs"] = np.tile(
          feed_dict["train_labels"], (1, neg_num)
      ).reshape(-1, neg_num, 1)
  
      for i in range(edge_types_count):
          feed_dict["train_types"] = np.array(
              [i for _ in range(num_nodes)], dtype=np.int64
          ).reshape(-1, 1)
          edge_node_embed = exe.run(
              program,
              feed=feed_dict,
              fetch_list=[model.last_node_embed],
              return_numpy=True,
          )[0]
          final_model[edge_types[i]] = edge_node_embed
  
      return final_model
  
imports: import os
  import argparse
  import time
  import numpy
  import logging
  import pickle
  import pgl
  from pgl.utils import paddle_helper
  import paddle
  import paddle.fluid
  import paddle.fluid.layers
  from utils import *
  import Dataset
  import model
  from sklearn.metrics import auc, f1_score, precision_recall_curve, roc_auc_score
label_desc: Use image node_id 2 for calling a global function with example usage: produce_model(exe, program, dataset, model, feed_dict) and returns: final_model