class_docstr: Base Graph Model
class_docstr_tok: ["Base","Graph","Model"]
docstr: build graph model
docstr_tok: ["build","graph","model"]
code: def build_model(self, args):
      """build graph model"""
      self.batch_src = L.data(
          name="batch_src", shape=[-1], dtype="int64"
      )
      self.batch_src = L.reshape(self.batch_src, [-1, 1])
      self.batch_dst = L.data(
          name="batch_dst", shape=[-1], dtype="int64"
      )
      self.batch_dst = L.reshape(self.batch_dst, [-1, 1])
      self.labels = L.data(name="labels", shape=[-1], dtype="int64")
      self.labels = L.reshape(self.labels, [-1, 1])
      self.labels.stop_gradients = True
      self.src_repr = L.embedding(
          self.batch_src,
          size=(self.num_nodes, self.hidden_size),
          param_attr=F.ParamAttr(
              name="node_embeddings",
              initializer=F.initializer.NormalInitializer(
                  loc=0.0, scale=1.0
              ),
          ),
      )
  
      self.dst_repr = L.embedding(
          self.batch_dst,
          size=(self.num_nodes, self.hidden_size),
          param_attr=F.ParamAttr(
              name="node_embeddings",
              initializer=F.initializer.NormalInitializer(
                  loc=0.0, scale=1.0
              ),
          ),
      )
  
      self.link_predictor(self.src_repr, self.dst_repr)
  
      self.bce_loss()
  
file_path: PGL/ogb_examples/linkproppred/ogbl-ppa/model.py
imports: import os
  import re
  import time
  from random import random
  from functools import reduce, partial
  import numpy
  import multiprocessing
  import paddle
  import paddle.fluid
  import paddle.fluid.layers
  from pgl.graph_wrapper import GraphWrapper
  from pgl.layers.conv import gcn, gat
label_desc: Use image node_id 2 for calling the BaseGraph obj's underlying member method code with example usage: obj.build_model(args) without return types