tensorflow / tensorflow/tensorboard
Unable to Retrieve Embedding Arrays From TensorBoard Logs
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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