umap
umap copied to clipboard
Setting random_state and multi-threading
Hi,
I wanted to report a bug I’ve noticed in setting random_state. The documentation regarding UMAP reproducibility (https://umap-learn.readthedocs.io/en/latest/reproducibility.html) seems to be incorrect in saying that setting random_state will halt multi-threading. When running UMAP on the same data with the same random_state set, the results vary when I allocate a single core vs. many cores (16).
Parameters: UMAP(n_components=3, a=2.0, b=1.5, random_state=42)
First instance components with single core: (10.861118, 3.735592, 8.769404) First instance components with 16 cores: (11.034830, 4.050596, 8.633882)
Info: Python 3.9.7 umap-learn 0.5.2 numpy 1.21.2 numba 0.55.1
Thanks!