tensorflow / tensorflow/tensorboard

Unable to Retrieve Embedding Arrays From TensorBoard Logs

Open
#6,879 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
7.2k
Forks
1.7k
Avg merge
4d 22h
Merged PRs (30d)
1

Description

I am encountering difficulties in retrieving embedding arrays that were logged using add_embedding from TensorBoard logs. I am unable to locate the actual embedding arrays. Below is a detailed description of the issue and the steps I have taken so far.

Steps to Reproduce
Logging Embeddings:

I used add_embedding to log embeddings in TensorBoard.
Example code for logging embeddings:

from torch.utils.tensorboard import SummaryWriter
import numpy as np

# Create a SummaryWriter
log_dir = 'logs/embedding_example'
writer = SummaryWriter(log_dir)

# Generate some dummy embeddings
embedding_data = np.random.randn(100, 64)  # 100 items with 64-dim embeddings
metadata = [f'Label {i}' for i in range(100)]

# Write the embeddings
writer.add_embedding(mat=embedding_data, metadata=metadata, global_step=1)

writer.close()
Attempting to Retrieve Embeddings:

I tried using EventAccumulator to load and parse the event files but was unable to locate the embedding arrays.
Example code for extracting embeddings:

import os
import numpy as np
from tensorboard.backend.event_processing.event_accumulator import EventAccumulator

def extract_embeddings_from_log(log_dir):
    event_acc = EventAccumulator(log_dir, size_guidance={'tensors': 0})
    event_acc.Reload()

    embeddings = {}

    # Get tags for tensors (embeddings should be listed here)
    tensor_tags = event_acc.Tags()
    print(tensor_tags)

I would appreciate any guidance or suggestions on how to properly retrieve the embedding arrays logged using add_embedding. Specifically, I am looking for:

  • Confirmation on whether add_embedding embeddings should be accessible through EventAccumulator.
  • Corrections to my approach or alternative methods to extract the embeddings.
  • Any additional information on the correct tags or structures to look for within the TensorBoard logs.

Environment Details
Framework: PyTorch
Logging Library: TensorBoard
TensorBoard Version: 2.16.2
Python Version: 3.10
Operating System: Ubuntu 22.04

Thank you for your assistance.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing PyTorch's SummaryWriter.add_embedding output and TensorBoard's EventAccumulator handling of the generated event files. Check the reported TensorBoard 2.16.2 behavior, including the tags returned by EventAccumulator.Tags(); done means establishing whether the arrays are supported there and documenting a reproducible retrieval path or the missing functionality.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, pytorch
Domain
data-visualization
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.