tensorboard
tensorboard copied to clipboard
Embedding Projector: Updating projection params is inconsistent (t-SNE/UMAP)
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.