Closed Jacob-Stevens-Haas closed 1 year ago
It appears that after installing libatlas-base-dev
and gfortran
and reinstalling numpy and scs, the tests pass.
This time round, it didn't seem to work. This time it's all cvxpy.error.SolverERror: Solver 'SCS' failed.
@akaptano, do you recall any issue with this, since they're trapping SINDy tests?
In the interim, I'll head back to the cvxpy help.
Ok so I believe the issue was that 9ca0cc1 limited scs to <=2.1.4
in response to #137, but should have been <2.1.4
since that issue was with 2.1.4 itself (the most recent version at the time). It hasn't really been noticed since, because the requirement is only requirements-dev.txt and not requirements.txt. Verified that tests pass on 2.1.3, 3.0.0, and 3.2.3 (current version). I'll push a PR with updated requirement specifier.
pls lemme know though, @akaptano or @znicolaou, either here or in review, whether there's a reason for this to be a dev requirement but not a regular requirement.
Yes, cvxpy was moved to a dev requirement a while back, since it is only used for somewhat specialized optimization cases (inequality constraints with ConstrainedSR3 and the trappingSR3 optimizer). scs is used by cvxpy, so it too was but into the dev requirements, and other users were also running into issues (although maybe solved by your fixing the versioning above).
:wave: Cloned the repo, installed all requirements and dev requirements, and had 12 failures: all 4 parameter sets in
test_optimizers.test_trapping_inequality_constraints
and all 8 parameter sets withtrapping_sr3_params2
intest_trapping_sr3_quadratic_library
.model.fit(x, t=t[1] - t[0])
, failing theassert
.cvxpy.error.SolverError: Solver 'SCS' failed.
Relevant info from error message:I found old
cvxpy
ubuntu install instructions requiringlibatlas-base-dev
andgfortran
. I don't have those, and installing them didn't fix the problem. I do havelibblas3
andliblapack3
. I know that linking linear algebra libraries to python package is a story as old as time, but this is my first time having to do it manually or on linux. Any advice? It looks like the github action doesn't do anything special when setting up, so not sure what I'm doing wrong.Reproducing code example:
Error message:
results, redundant tests removed to fit gh comment limit
``` =========================================================================================== test session starts =========================================================================================== platform linux -- Python 3.8.10, pytest-5.4.3, py-1.11.0, pluggy-0.13.1 rootdir: /home/xenophon/github/pysindy plugins: lazy-fixture-0.6.3, cov-3.0.0, hypothesis-6.46.3 collected 556 items test/test_pysindy.py ................................................................................... [ 14%] test/test_sindyc.py .............................................. [ 23%] test/deeptime/test_scikit_time.py ....... [ 24%] test/differentiation/test_differentiation_methods.py ................................................ [ 33%] test/feature_library/test_feature_library.py ............................................................................................................................... [ 55%] test/optimizers/test_optimizers.py ................................................................................................F..F..F..F..F..F..F..F.......................................... [ 84%] ........................FFFF............................. [ 94%] test/property_tests/test_optimizers_complexity.py ..... [ 95%] test/utils/test_odes.py ..................... [ 99%] test/utils/test_utils.py .. [100%] ================================================================================================ FAILURES ================================================================================================= ____________________________________________________________________ test_trapping_sr3_quadratic_library[params7-trapping_sr3_params2] ____________________________________________________________________ params = {'accel': True, 'constraint_lhs': array([[1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., ...., 0., 0., 0., 0., 0.]]), 'constraint_rhs': array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]), 'relax_optim': False, ...} trapping_sr3_params = {'relax_optim': False}, data_quadratic_library =PySINDy/Python version information:
pysindy:
1.8.dev1+g288cf6e.d20220511
(current master) python: