code: def load_embeddings(
      path: str,
  ) -> Tuple[NDArray[np.float64], List[int], List[str]]:
      """Loads embeddings from a csv file in a Lightly compatible format.
  
      Args:
          path:
              Path to the csv file.
  
      Returns:
          The embeddings as a numpy array, labels as a list of integers, and
          filenames as a list of strings in the order they were saved.
  
          The embeddings will always be of the Float32 datatype.
  
      Examples:
          >>> import lightly.utils.io as io
          >>> embeddings, labels, filenames = io.load_embeddings(
          >>>     'path/to/my/embeddings.csv')
  
      """
      check_embeddings(path)
  
      filenames, labels = [], []
      embeddings = []
      with open(path, "r", newline="") as csv_file:
          reader = csv.reader(csv_file, delimiter=",")
          for i, row in enumerate(reader):
              # skip header
              if i == 0:
                  continue
              #  read filenames and labels
              filenames.append(row[0])
              labels.append(int(row[-1]))
              # read embeddings
              embeddings.append(row[1:-1])
  
      embedding_array = np.array(embeddings).astype(np.float64)
      return embedding_array, labels, filenames
  
file_path: lightly/lightly/utils/io.py
imports: import csv
  import json
  import re
  from itertools import compress
  from typing import Any, Dict, List, Tuple, Union
  import numpy
  from numpy.typing import NDArray
label_desc: Use image node_id 3 for calling a global function with example usage: load_embeddings(path) and returns: embedding_array,  labels,  filenames