class_docstr: Sparse Embedding for Knowledge Graph
  It is used to store both entity embeddings and relation embeddings.
  
  Parameters
  ----------
  num : int
      Number of embeddings.
  dim : int
      Embedding dimention size.
  device : th.device
      Device to store the embedding.
class_docstr_tok: ["Sparse","Embedding","for","Knowledge","Graph","It","is","used","to","store","both","entity","embeddings","and","relation","embeddings",".","Parameters","--","--","--","--","--","num",":","int","Number","of","embeddings",".","dim",":","int","Embedding","dimention","size",".","device",":","th.device","Device","to","store","the","embedding","."]
docstr: Save embeddings.
  
  Parameters
  ----------
  path : str
      Directory to save the embedding.
  name : str
      Embedding name.
docstr_tok: ["Save","embeddings",".","Parameters","--","--","--","--","--","path",":","str","Directory","to","save","the","embedding",".","name",":","str","Embedding","name","."]
code: def save(self, path, name):
      """Save embeddings.
  
      Parameters
      ----------
      path : str
          Directory to save the embedding.
      name : str
          Embedding name.
      """
      file_name = os.path.join(path, name)
      np.save(file_name, self.emb.cpu().detach().numpy())
  
imports: import os
  import numpy
  import torch
  import torch.nn
  import torch.nn.functional
  import torch.nn.init
  import torch.multiprocessing
  from torch.multiprocessing import Queue
  from _thread import start_new_thread
  import traceback
  from functools import wraps
  from ..None import *
  from .tensor_models import thread_wrapped_func
label_desc: Use image node_id 5 for calling the KGEmbedding obj's underlying member method code with example usage: obj.save(path, name) without return types