docstr: Log a multi-dimensional dataset and metadata for viewing
     with Comet's Embedding Projector (experimental).
  
  Args:
  vectors: the tensors to visualize in 3D
  labels: labels for each tensor
  image_data: (optional) list of arrays or Images
  image_preprocess_function: (optional) if image_data is an array,
      apply this function to each element first
  image_transparent_color: a (red, green, blue) tuple
  image_background_color_function: a function that takes an
      index, and returns a (red, green, blue) color tuple
  title: (optional) name of tensor
  template_filename: (optional) name of template JSON file
docstr_tok: ["Log","a","multi-dimensional","dataset","and","metadata","for","viewing","with","Comet","'s","Embedding","Projector","(","experimental",")",".","Args",":","vectors",":","the","tensors","to","visualize","in","3D","labels",":","labels","for","each","tensor","image_data",":","(","optional",")","list","of","arrays","or","Images","image_preprocess_function",":","(","optional",")","if","image_data","is","an","array",",","apply","this","function","to","each","element","first","image_transparent_color",":","a","(","red",",","green",",","blue",")","tuple","image_background_color_function",":","a","function","that","takes","an","index",",","and","returns","a","(","red",",","green",",","blue",")","color","tuple","title",":","(","optional",")","name","of","tensor","template_filename",":","(","optional",")","name","of","template","JSON","file"]
code: def log_embedding(
      self,
      vectors,
      labels,
      image_data=None,
      image_preprocess_function=None,
      image_transparent_color=None,
      image_background_color_function=None,
      title="Comet Embedding",
      template_filename=None,
      group=None,
  ):
      """Log a multi-dimensional dataset and metadata for viewing
         with Comet's Embedding Projector (experimental).
  
      Args:
      vectors: the tensors to visualize in 3D
      labels: labels for each tensor
      image_data: (optional) list of arrays or Images
      image_preprocess_function: (optional) if image_data is an array,
          apply this function to each element first
      image_transparent_color: a (red, green, blue) tuple
      image_background_color_function: a function that takes an
          index, and returns a (red, green, blue) color tuple
      title: (optional) name of tensor
      template_filename: (optional) name of template JSON file
      """
      image_size = None
      if labels is None:
          return
      if image_data is not None:
          image_data = image_data.cpu().detach().numpy()
          image_size = image_data.shape[1:]
          if image_size[0] == 1:
              image_size = image_size[1:]
      if type(labels) == list:
          labels = np.array(labels)
      else:
          labels = labels.cpu().detach().numpy()
      self._experiment.log_embedding(
          vectors,
          labels,
          image_data,
          image_size,
          image_preprocess_function,
          image_transparent_color,
          image_background_color_function,
          title,
          template_filename,
          group,
      )
  
imports: import logging
  import json
  import functools
  from io import BytesIO
  from google.protobuf.json_format import MessageToJson
  import numpy
  from .summary import _clean_tag
label_desc: Use image node_id 15 for calling the CometLogger obj's underlying member method code with example usage: obj.log_embedding(vectors, labels, image_data, image_preprocess_function, image_transparent_color, image_background_color_function, title, template_filename, group) without return types