lesteve / scikit-learn-tests-pyodide

Run scikit-learn test suite inside Pyodide
3 stars 1 forks source link

More detailed test of sklearn.linear_model #10

Closed lesteve closed 1 year ago

lesteve commented 1 year ago

sklearn.linear_model.tests.test_base

sometimes pass sometimes not.

This seems to pass consistently:

node --experimental-fetch scikit-learn-pytest.js --pyargs sklearn.linear_model.tests.test_base -v -k 'not regression_multiple_outcome'

This sometimes passes, sometimes hangs, sometimes errors with an error that does not make sense, sometimes with a Pyodide stack-trace

node --experimental-fetch scikit-learn-pytest.js --pyargs sklearn.linear_model.tests.test_base -v -k 'regression_multiple_outcome'

Example of stack-trace:

The cause of the fatal error was:
RuntimeError: null function or function signature mismatch
    at method_vectorcall (wasm://wasm/0200c0f2:wasm-function[1053]:0x1334a6)
    at call_function (wasm://wasm/0200c0f2:wasm-function[3087]:0x1ed8e7)
    at _PyEval_EvalFrameDefault (wasm://wasm/0200c0f2:wasm-function[3078]:0x1eb5c1)
    at _PyEval_Vector (wasm://wasm/0200c0f2:wasm-function[3075]:0x1e5b15)
    at _PyFunction_Vectorcall (wasm://wasm/0200c0f2:wasm-function[1010]:0x131b47)
    at call_function (wasm://wasm/0200c0f2:wasm-function[3087]:0x1ed8e7)
    at _PyEval_EvalFrameDefault (wasm://wasm/0200c0f2:wasm-function[3078]:0x1eb5c1)
    at _PyEval_Vector (wasm://wasm/0200c0f2:wasm-function[3075]:0x1e5b15)
    at _PyFunction_Vectorcall (wasm://wasm/0200c0f2:wasm-function[1010]:0x131b47)
    at PyVectorcall_Call (wasm://wasm/0200c0f2:wasm-function[1007]:0x1319a4) {
  pyodide_fatal_error: true
}
RuntimeError: null function or function signature mismatch
    at method_vectorcall (wasm://wasm/0200c0f2:wasm-function[1053]:0x1334a6)
    at call_function (wasm://wasm/0200c0f2:wasm-function[3087]:0x1ed8e7)
    at _PyEval_EvalFrameDefault (wasm://wasm/0200c0f2:wasm-function[3078]:0x1eb5c1)
    at _PyEval_Vector (wasm://wasm/0200c0f2:wasm-function[3075]:0x1e5b15)
    at _PyFunction_Vectorcall (wasm://wasm/0200c0f2:wasm-function[1010]:0x131b47)
    at call_function (wasm://wasm/0200c0f2:wasm-function[3087]:0x1ed8e7)
    at _PyEval_EvalFrameDefault (wasm://wasm/0200c0f2:wasm-function[3078]:0x1eb5c1)
    at _PyEval_Vector (wasm://wasm/0200c0f2:wasm-function[3075]:0x1e5b15)
    at _PyFunction_Vectorcall (wasm://wasm/0200c0f2:wasm-function[1010]:0x131b47)
    at PyVectorcall_Call (wasm://wasm/0200c0f2:wasm-function[1007]:0x1319a4) {
  pyodide_fatal_error: true
}

sklearn.linear_model.tests.test_ransac

Sometimes pass sometimes not.

This seems to consistently pass:

node --experimental-fetch scikit-learn-pytest.js --pyargs sklearn.linear_model.tests.test_ransac -v -k 'not test_ransac_final_model_fit_sample_weight'
node --experimental-fetch scikit-learn-pytest.js --pyargs sklearn.linear_model.tests.test_ransac -v -k 'test_ransac_final_model_fit_sample_weight'

Example of a Python error that does not make sense:

=================================== FAILURES ===================================
__________________ test_ransac_final_model_fit_sample_weight ___________________

>   ???

/lib/python3.10/site-packages/sklearn/linear_model/tests/test_ransac.py:550: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/lib/python3.10/site-packages/sklearn/linear_model/_ransac.py:553: in fit
    ???
/lib/python3.10/site-packages/sklearn/linear_model/_base.py:700: in fit
    ???
/lib/python3.10/site-packages/scipy/linalg/_basic.py:1134: in lstsq
    ???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

a = array([[ 0.00366151,  0.00924783,  0.00666857, ..., -0.02802901,
        -0.02554151,  0.02791069],
       [-0.0130917...516, -0.02085857],
       [-0.01815295, -0.01296848, -0.03640656, ..., -0.00140703,
        -0.00273846, -0.01851021]])
check_finite = True, sparse_ok = False, objects_ok = False, mask_ok = False
as_inexact = False

>   ???
E   SystemError: Objects/dictobject.c:1514: bad argument to internal function

/lib/python3.10/site-packages/scipy/_lib/_util.py:278: SystemError
=========================== short test summary info ============================
FAILED ::test_ransac_final_model_fit_sample_weight - SystemError: Objects/dictobject.c:1514: bad argument to internal function
======================= 1 failed, 24 deselected in 3.58s =======================
lesteve commented 1 year ago

This has been fixed by switching to OpenBLAS