tensorflow / tensorflow/tensorboard

Embedding Projector: Updating projection params is inconsistent (t-SNE/UMAP)

Open
#6,289 0 comments 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

Issue description

In general projection parameter updates are inconsistent especially for t-SNE/UMAP

2D/3D mode

2D/3D mode in t-SNE/UMAP simply makes the scatterplot a 2D/3D view. This is inaccurate and the projection need to be rerun. Usually the projection starts at a 3D state (and forced to run) and we store the z-coordinate of the point when the projection is run initially.

Toggling to 2D mode and rerunning the projection will just replace the x, y coordinates while leaving z-coordinate stale. If we toggle back to 3D (without restarting projection) we will simply use z coordinate from the initial run (3D) while using x, y coordinates from the second run (2D) which is undesirable.

Other params that requires reruns

number of neighbors param (UMAP)
perplexity, learning rate (t-SNE)
tweaking the slider doesn't do anything without stopping the projection (t-SNE only) and rerun (t-SNE/UMAP)

t-SNE Supervise params

(nit) Supervise With is in the Data panel when it only applies to t-SNE and should be moved to Projection panel IMO

supervise by/supervise factor for t-SNE will take immediately in the next iteration so no modification is needed

Proposed Fix

In general t-SNE is faster to restart than UMAP, I propose affected t-SNE projection be restarted when affected params are modified. For UMAP perhaps showing a message asking the user to click on rerun is the best course of action.

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

The issue names no files, tests, or entry points. Start by tracing the Embedding Projector controls for 2D/3D mode, UMAP neighbors, and t-SNE perplexity and learning rate, then compare rerun behavior with the proposed t-SNE restart and UMAP rerun guidance. Done means affected parameter changes no longer mix stale coordinates and the t-SNE supervision control is placed appropriately.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
data-visualization, frontend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.