UMAP fit_transform terminates program with no output
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 8.3k
- Forks
- 871
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 5
Description
I'm running UMAP on a larger dataset, but for some reason, the fit_transform method runs for some time and then terminates the rest of my program. I think it has something to do with the size of the input, because this works with only 10K points.
Environment dependencies generated using conda list -e > requirements.txt
platform: win-64
ca-certificates=2021.5.30=h5b45459_0
certifi=2021.5.30=py37h03978a9_0
intel-openmp=2021.2.0=h57928b3_616
joblib=1.0.1=pyhd8ed1ab_0
libblas=3.9.0=8_mkl
libcblas=3.9.0=8_mkl
liblapack=3.9.0=8_mkl
llvmlite=0.36.0=py37habb0c8c_0
m2w64-gcc-libgfortran=5.3.0=6
m2w64-gcc-libs=5.3.0=7
m2w64-gcc-libs-core=5.3.0=7
m2w64-gmp=6.1.0=2
m2w64-libwinpthread-git=5.0.0.4634.697f757=2
mkl=2020.4=hb70f87d_311
msys2-conda-epoch=20160418=1
numba=0.53.1=py37h9690626_1
numpy=1.20.3=py37hcbcd69c_1
openssl=1.1.1k=h8ffe710_0
pip=21.1.2=py37haa95532_0
pynndescent=0.5.2=pyh44b312d_0
python=3.7.10=h6244533_0
python_abi=3.7=1_cp37m
scikit-learn=0.24.2=py37h8ded0a9_0
scipy=1.6.3=py37h924764e_0
setuptools=52.0.0=py37haa95532_0
sqlite=3.35.4=h2bbff1b_0
tbb=2020.2=h2d74725_4
threadpoolctl=2.1.0=pyh5ca1d4c_0
umap-learn=0.5.1=py37h03978a9_1
vc=14.2=h21ff451_1
vs2015_runtime=14.27.29016=h5e58377_2
wheel=0.36.2=pyhd3eb1b0_0
wincertstore=0.2=py37_0
zlib=1.2.11=h62dcd97_1010
Reproducible code
import numpy as np
from umap import UMAP
a = np.random.randint(0,256,size=(100000,64*64), dtype=np.uint8)
map = UMAP(random_state=0)
print("Fitting UMAP")
points = map.fit_transform(a)
print("Complete!")
Expecting Output
Fitting UMAP
Complete!
Actual Output
Fitting UMAP
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the supplied UMAP.fit_transform reproduction using a 100000×4096 uint8 array, and compare it with the 10K-point case. Trace where execution terminates during fit_transform and identify a reproducible failure condition. Done means the cause is established and the large-input case no longer terminates the surrounding program unexpectedly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- numpy, python
- Domain
- machine-learning, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 32/100