code: def embedding(
      tag, labels, hot_vectors, step, labels_meta=None, walltime=None
  ):
      """Package data to one embedding.
  
      Args:
          tag (string): Data identifier
          labels (list): A list of labels.
          hot_vectors (np.array or list): A matrix which each row is
              feature of labels.
          step (int): Step of embeddings.
          walltime (int): Wall time of embeddings.
  
      Return:
          Package with format of record_pb2.Record
      """
      embeddings = Record.Embeddings()
  
      if labels_meta:
          embeddings.label_meta.extend(labels_meta)
  
      if isinstance(labels[0], list):
          temp = []
          for index in range(len(labels[0])):
              temp.append([label[index] for label in labels])
          labels = temp
      for label, hot_vector in zip(labels, hot_vectors):
          if not isinstance(label, list):
              label = [label]
          embeddings.embeddings.append(
              Record.Embedding(label=label, vectors=hot_vector)
          )
  
      return Record(
          values=[
              Record.Value(
                  id=step,
                  tag=tag,
                  timestamp=walltime,
                  embeddings=embeddings,
              )
          ]
      )
  
imports: import numpy
  from PIL import Image
  from visualdl.proto.record_pb2 import Record
label_desc: Use image node_id 9 for calling a global function with example usage: embedding(tag, labels, hot_vectors, step, labels_meta, walltime) and returns: Record