임베딩과 메타데이터가 있으면, 다음과 같이 주피터 노트북에서 visualize할 수 있다.tensorboard projector 는 goolge에서 만든 visualization 툴이다. arxiv 논문을 참고: https://arxiv.org/pdf/1611.05469v1.pdf다음과 같이 https://pytorch.org/docs/stable/_modules/torch/utils/tensorboard/writer.html#SummaryWriter.add_embedding 함수를 활용하면 된다.
%load_ext tensorboard import joblib import numpy as np import pandas as pd from torch.utils.tensorboard import SummaryWriter TENSORBOARD_DIR = 'tensoboard_log/' embedding = np.load("embedding.npy") embedding_id_list = joblib.load("embedding_id_list.pkl") metadata = pd.read_parquet("item_meta.parquet") metadata_header = ['id', 'column1', 'column2'] metadata = metadata[metadata_header].loc[embedding_id_list].reset_index() writer = SummaryWriter(TENSORBOARD_DIR) writer.add_embedding(embedding, metadata, metadata_header=metadata_header) writer.close()
위와 같이 실행하면 tensorboard를 실행하기 위한 파일이 TENSORBOARD_DIR 안에 생긴다.
TENSORBOARD_DIR
tensoboard_log/ ├── 00000 │ └── default │ ├── metadata.tsv │ └── tensors.tsv ├── events.out.tfevents.* └── projector_config.pbtxt
이해 해당 디렉토리로 tensorboard를 다음과 같이 실행하면 된다. 주피터에서 실행시 랜더링 된다.
%tensorboard --logdir ./save_embedding/ --bind_all