class_docstr: RotatE model.
class_docstr_tok: ["RotatE","model","."]
docstr: Construct test program
docstr_tok: ["Construct","test","program"]
code: def construct_test_program(self):
      """
      Construct test program
      """
      epsilon_var = fluid.layers.fill_constant(
          shape=[1], dtype="float32", value=1e-12
      )
      (
          entity_embedding,
          relation_embedding,
      ) = self.creat_share_variables()
  
      head_vec = lookup_table(self.test_input[0], entity_embedding)
      rel_vec = lookup_table(self.test_input[1], relation_embedding)
      tail_vec = lookup_table(self.test_input[2], entity_embedding)
      head_vec = fluid.layers.unsqueeze(head_vec, axes=[0])
      rel_vec = fluid.layers.unsqueeze(rel_vec, axes=[0])
      tail_vec = fluid.layers.unsqueeze(tail_vec, axes=[0])
  
      (
          id_replace_head,
          id_replace_tail,
      ) = self.score_with_l2_normalize_with_validate(
          entity_embedding, head_vec, rel_vec, tail_vec, epsilon_var
      )
  
      id_replace_head = fluid.layers.logsigmoid(id_replace_head)
      id_replace_tail = fluid.layers.logsigmoid(id_replace_tail)
  
      return [id_replace_head, id_replace_tail]
  
file_path: PGL/legacy/examples/pgl-ke/model/RotatE.py
imports: import paddle.fluid
  from .Model import Model
  from .utils import lookup_table
label_desc: Use image node_id 8 for calling the RotatE obj's underlying member method code with example usage: obj.construct_test_program() and returns: list