tsne-cuda icon indicating copy to clipboard operation
tsne-cuda copied to clipboard

Actually use random_seed argument

Open cciccole opened this issue 5 years ago • 2 comments

The Python API has a random_seed attribute for the tsnecuda.TSNE class but it's ignored.

Random seed is tracked as an option within the tsnecuda implementation but it looks hard coded to time-based seed instead. Is there a good reason for this?

I might implement and PR this change unless you indicate otherwise or do it first.

cciccole avatar Jun 14 '19 21:06 cciccole

No good reason, we probably just got lazy.

If you submit a PR we will be happy to include it.

rmrao avatar Jun 14 '19 21:06 rmrao

Just an FYI: the real reason that this argument is ignored is because I'm not entirely certain that we can enforce strict random seeding. There may be external sources of randomness that are introduced beyond random number generation in our code (for example, by the FAISS library, or by parallelism). Because of this, it's a bit more challenging to make sure that random seeding is actually possible, and I haven't done a full strict analysis of the code, so just note that seeding the random number generator may not actually create reproducible results.

DavidMChan avatar Jun 17 '19 17:06 DavidMChan