class_docstr: Initialization strategies.
      
code: def __call__(self, name, num_embed, embed_dim):
      self.num_embed = num_embed
      self.embed_dim = embed_dim
  
      if name == "general_uniform":
          weight = self.general_uniform()
      elif name == "quaternion_init":
          weight = self.quaternion_initialization()
      elif name == "standard_uniform":
          weight = self.standard_uniform()
      elif name == "ote_entity_uniform":
          weight = uniform(
              -0.01, 0.01, (self.num_embed, self.embed_dim)
          )
      elif name == "ote_scale_init":
          weight = self.standard_uniform()
  
          num_elem = self.args.ote_size
          use_scale = self.args.ote_scale > 0
          scale_init = 1.0 if self.args.ote_scale == 1 else 0.0
  
          if use_scale:
              weight.reshape((-1, num_elem + 1))[:, -1] = scale_init
          weight_shape = weight.shape
          weight = weight.reshape(
              [-1, num_elem, num_elem + int(use_scale)]
          )
          weight = gram_schimidt_process(weight, num_elem, use_scale)
          weight = weight.reshape(weight_shape)
      else:
          raise ValueError(
              "{} initialization method not implemented!".format(name)
          )
  
      return weight
  
file_path: PGL/apps/Graph4KG/models/init_func.py
imports: import numpy
  from numpy.random import RandomState
  from utils import uniform, gram_schimidt_process
label_desc: Use image node_id 2 for calling the InitFunction obj's underlying member method code with example usage: obj.__call__(name, num_embed, embed_dim) and returns: weight