code: def binary_op(u_embed, v_embed, binary_op_type):
      """binary_op"""
      if binary_op_type == "Average":
          edge_embed = (u_embed + v_embed) / 2
      elif binary_op_type == "Hadamard":
          edge_embed = u_embed * v_embed
      elif binary_op_type == "Weighted-L1":
          edge_embed = fluid.layers.abs(u_embed - v_embed)
      elif binary_op_type == "Weighted-L2":
          edge_embed = (u_embed - v_embed) * (u_embed - v_embed)
      else:
          raise ValueError(
              binary_op_type + " binary_op_type doesn't exists"
          )
      return edge_embed
  
imports: import argparse
  import time
  import glob
  import os
  import numpy
  import pgl
  from pgl.utils.logger import log
  from pgl.utils import paddle_helper
  import paddle
  import paddle.fluid
  import tqdm
  import reader
  import model
label_desc: Use image node_id 3 for calling a global function with example usage: binary_op(u_embed, v_embed, binary_op_type) and returns: edge_embed