So T-SNE (just use .cpu().numpy() on the tensors and feed into sklearn’s TSNE) has the property that you need to provide all datapoints you want to project into a lower-dimensional space at fitting time.
So you would need to concatenate the samples you get, call fit_transform to get the projected points. These will be in the same order, so you can take apart the array into the various types of points for visualzation.
More recent approaches such as Isomap from sklearn or UMAP 1 allow you to fit a model first and then pass additional data through it, though in the case of outliers, this might not be as neat.
Best regards
Thomas