class_docstr: Shallow models for knowledge representation learning.
      
code: def _init_score_function(self, model_name, args):
      if model_name == "transe":
          score_func = TransEScore(args.gamma)
      elif model_name == "rotate":
          score_func = RotatEScore(args.gamma, args.embed_dim)
      elif model_name == "distmult":
          score_func = DistMultScore()
      elif model_name == "complex":
          score_func = ComplExScore()
      elif model_name == "quate":
          score_func = QuatEScore(self._num_ents)
      elif model_name == "ote":
          score_func = OTEScore(
              args.gamma, args.ote_size, args.ote_scale
          )
      else:
          raise ValueError(
              "Score function %s not implemented!" % model_name
          )
      return score_func
  
imports: import os
  import json
  import math
  import warnings
  import numpy
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from pgl.utils.shared_embedding import SharedEmbedding
  from models.score_funcs import TransEScore, RotatEScore, DistMultScore, ComplExScore, QuatEScore, OTEScore
  from models.init_func import InitFunction
  from utils import uniform, timer_wrapper
label_desc: Use image node_id 20 for calling the KGEModel obj's underlying member method code with example usage: obj._init_score_function(model_name, args) and returns: score_func