intel / scikit-learn-intelex

Intel(R) Extension for Scikit-learn is a seamless way to speed up your Scikit-learn application
https://intel.github.io/scikit-learn-intelex/
Apache License 2.0
1.22k stars 175 forks source link

TSNE crashes with specific data #1973

Open yuvalwas opened 3 months ago

yuvalwas commented 3 months ago

Describe the bug TSNE causes a Windows fatal exception, but it is hard to reproduce and does not happen with a random array. Please tell me what extra information might help. Thanks for your help.

To Reproduce

from sklearnex.manifold import TSNE

a = # some data
TSNE().fit_transform(a)

If a is a random array, it doesn't crash, only some data arrays that I am working with do. I checked the array with np.isfinite(a).all(). It does not crash with scikit-learn TSNE.

Output/Screenshots

Windows fatal exception: code 0xc0000374

Main thread:
Current thread 0x00000a90 (most recent call first):
  File "C:\Users\yuvalw.WISMAIN\AppData\Local\anaconda3\envs\island2\Lib\site-packages\daal4py\sklearn\manifold\_t_sne.py", line 103 in _daal_tsne
  File "C:\Users\yuvalw.WISMAIN\AppData\Local\anaconda3\envs\island2\Lib\site-packages\daal4py\sklearn\manifold\_t_sne.py", line 397 in _fit
  File "C:\Users\yuvalw.WISMAIN\AppData\Local\anaconda3\envs\island2\Lib\site-packages\sklearn\manifold\_t_sne.py", line 1176 in fit_transform
  File "C:\Users\yuvalw.WISMAIN\AppData\Local\anaconda3\envs\island2\Lib\site-packages\sklearn\base.py", line 1473 in wrapper
  File "C:\Users\yuvalw.WISMAIN\AppData\Local\anaconda3\envs\island2\Lib\site-packages\sklearn\utils\_set_output.py", line 313 in wrapped
  File "C:\Users\yuvalw.WISMAIN\AppData\Local\anaconda3\envs\island2\Lib\site-packages\daal4py\sklearn\manifold\_t_sne.py", line 52 in fit_transform
  File "C:\Users\yuvalw.WISMAIN\AppData\Local\anaconda3\envs\island2\Lib\site-packages\daal4py\sklearn\_device_offload.py", line 57 in dispatch_by_obj
  File "C:\Users\yuvalw.WISMAIN\AppData\Local\anaconda3\envs\island2\Lib\site-packages\daal4py\sklearn\_device_offload.py", line 71 in _run_on_device
  File "C:\Users\yuvalw.WISMAIN\AppData\Local\anaconda3\envs\island2\Lib\site-packages\daal4py\sklearn\_device_offload.py", line 80 in wrapper_impl
  File "C:\Users\yuvalw.WISMAIN\AppData\Local\anaconda3\envs\island2\Lib\site-packages\daal4py\sklearn\_device_offload.py", line 96 in wrapper_with_self
  File "C:\Users\yuvalw.WISMAIN\AppData\Local\anaconda3\envs\island2\Lib\site-packages\sklearn\utils\_set_output.py", line 313 in wrapped
  File "c:\users\yuvalw.wismain\documents\island\untitled0.py", line 72 in <module>
  File "C:\Users\yuvalw.WISMAIN\AppData\Local\anaconda3\envs\island2\Lib\site-packages\spyder_kernels\py3compat.py", line 356 in compat_exec
  File "C:\Users\yuvalw.WISMAIN\AppData\Local\anaconda3\envs\island2\Lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 473 in exec_code
  File "C:\Users\yuvalw.WISMAIN\AppData\Local\anaconda3\envs\island2\Lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 740 in _exec_cell
  File "C:\Users\yuvalw.WISMAIN\AppData\Local\anaconda3\envs\island2\Lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 689 in runcell
  File "C:\Users\yuvalw.WISMAIN\AppData\Local\Temp\ipykernel_31132\389432698.py", line 1 in <module>

Restarting kernel...

That is the output when I run it in Spyder. If I run it in a terminal, it just dies silently.

Environment: Python version: 3.11.9 | packaged by conda-forge | (main, Apr 19 2024, 18:27:10) [MSC v.1938 64 bit (AMD64)] Platform: Windows-10-10.0.19044-SP0 Processor: Intel64 Family 6 Model 183 Stepping 1, GenuineIntel Compiler: MSC v.1938 64 bit (AMD64)

avolkov-intel commented 3 months ago

Can you reproduce this issue with a fixed dataset? If yes, could you please provide this dataset (or it least share its description including dimensions) or a script for data generation with a specified random seed? If no, could you specify how often this issue occurs?