code: def load_textual_inversion_embeddings(self, force_reload=False):
      if not force_reload:
          need_reload = False
          for embdir in self.embedding_dirs.values():
              if embdir.has_changed():
                  need_reload = True
                  break
  
          if not need_reload:
              return
  
      self.ids_lookup.clear()
      self.word_embeddings.clear()
      self.skipped_embeddings.clear()
      self.expected_shape = self.get_expected_shape()
  
      for embdir in self.embedding_dirs.values():
          self.load_from_dir(embdir)
          embdir.update()
  
      # re-sort word_embeddings because load_from_dir may not load in alphabetic order.
      # using a temporary copy so we don't reinitialize self.word_embeddings in case other objects have a reference to it.
      sorted_word_embeddings = {
          e.name: e
          for e in sorted(
              self.word_embeddings.values(),
              key=lambda e: e.name.lower(),
          )
      }
      self.word_embeddings.clear()
      self.word_embeddings.update(sorted_word_embeddings)
  
      displayed_embeddings = (
          tuple(self.word_embeddings.keys()),
          tuple(self.skipped_embeddings.keys()),
      )
      if (
          shared.opts.textual_inversion_print_at_load
          and self.previously_displayed_embeddings
          != displayed_embeddings
      ):
          self.previously_displayed_embeddings = displayed_embeddings
          print(
              f"Textual inversion embeddings loaded({len(self.word_embeddings)}): {', '.join(self.word_embeddings.keys())}"
          )
          if self.skipped_embeddings:
              print(
                  f"Textual inversion embeddings skipped({len(self.skipped_embeddings)}): {', '.join(self.skipped_embeddings.keys())}"
              )
  
imports: import os
  from collections import namedtuple
  from contextlib import closing
  import torch
  import tqdm
  import html
  import datetime
  import csv
  import safetensors.torch
  import numpy
  from PIL import Image, PngImagePlugin
  from torch.utils.tensorboard import SummaryWriter
  from modules import shared, devices, sd_hijack, sd_models, images, sd_samplers, sd_hijack_checkpoint, errors, hashes
  import modules.textual_inversion.dataset
  from modules.textual_inversion.learn_schedule import LearnRateScheduler
  from modules.textual_inversion.image_embedding import embedding_to_b64, embedding_from_b64, insert_image_data_embed, extract_image_data_embed, caption_image_overlay
  from modules.textual_inversion.logging import save_settings_to_file
label_desc: Use image node_id 9 for calling the EmbeddingDatabase obj's underlying member method code with example usage: obj.load_textual_inversion_embeddings(force_reload) without return types