class_docstr: test Embedding Visualization
code: def test_show_embeddings(self):
      device = torch.device("cpu")
      model = resnet18(pretrained=True)
      model = model.to(device)
      emb_extractor = EmbeddingExtractor(model)
      layer_name_list = [  # "conv1",
          "layer1.0.conv1",
      ]
      for layer_name in layer_name_list:
          emb_extractor.register(layer_name)
      image = Image.new(mode="RGB", size=(20, 20))
      transform = transforms.Compose(
          [transforms.Resize((224, 224)), transforms.ToTensor()]
      )
      img = transform(image).unsqueeze(dim=0).to(device)
      model(img)
      show_embeddings(
          emb_extractor.emb_out.embeddings,
          figsize=(10, 80),
          emb_name_list=layer_name_list,
      )
      for emb in emb_extractor.emb_out.embeddings:
          print(emb.shape)
  
file_path: towhee/tests/unittests/models/visualization/test_embedding_vis.py
imports: import unittest
  from pathlib import Path
  import torch
  from torchvision.models import resnet18
  from torchvision import transforms
  from towhee.utils.pil_utils import PILImage
  from towhee.utils.matplotlib_utils import matplotlib
  from towhee.models.embedding.embedding_extractor import EmbeddingExtractor
  from towhee.models.visualization.embedding_visualization import show_embeddings
label_desc: Use image node_id 1 for calling the TestShowEmbeddings obj's underlying member method code with example usage: obj.test_show_embeddings() without return types