automl / ConfigSpace

Domain specific language for configuration spaces in Python/Cython. Useful for hyperparameter optimization and algorithm configuration.
https://automl.github.io/ConfigSpace/
Other
193 stars 93 forks source link

ConfigSpace is not compatible with numpy 2.0 #367

Closed nhuet closed 4 days ago

nhuet commented 1 week ago

Simply importing ConfigSpace in an environment with numpy 2.0 installed results in an error:

>>> import ConfigSpace
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/nolwen/Projects/configspace-test/venv/lib/python3.10/site-packages/ConfigSpace/__init__.py", line 31, in <module>
    from ConfigSpace.api import (
  File "/home/nolwen/Projects/configspace-test/venv/lib/python3.10/site-packages/ConfigSpace/api/__init__.py", line 1, in <module>
    from ConfigSpace.api import distributions, types
  File "/home/nolwen/Projects/configspace-test/venv/lib/python3.10/site-packages/ConfigSpace/api/types/__init__.py", line 1, in <module>
    from ConfigSpace.api.types.categorical import Categorical
  File "/home/nolwen/Projects/configspace-test/venv/lib/python3.10/site-packages/ConfigSpace/api/types/categorical.py", line 10, in <module>
    from ConfigSpace.hyperparameters import CategoricalHyperparameter, OrdinalHyperparameter
  File "/home/nolwen/Projects/configspace-test/venv/lib/python3.10/site-packages/ConfigSpace/hyperparameters/__init__.py", line 1, in <module>
    from .beta_float import BetaFloatHyperparameter
  File "ConfigSpace/hyperparameters/beta_float.pyx", line 1, in init ConfigSpace.hyperparameters.beta_float
  File "ConfigSpace/hyperparameters/uniform_float.pyx", line 1, in init ConfigSpace.hyperparameters.uniform_float
  File "ConfigSpace/hyperparameters/float_hyperparameter.pyx", line 1, in init ConfigSpace.hyperparameters.float_hyperparameter
  File "ConfigSpace/hyperparameters/numerical.pyx", line 1, in init ConfigSpace.hyperparameters.numerical
  File "ConfigSpace/hyperparameters/hyperparameter.pyx", line 1, in init ConfigSpace.hyperparameters.hyperparameter
ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject

The error occurs at least with python 3.10, 3.11 on windows, macos and linux.

eddiebergman commented 1 week ago

Yup, well aware #346 fixes this, sorry for delays

nhuet commented 1 week ago

Ok thanks

sandytruant commented 6 days ago

I've met the same error with python 3.9 and ConfigSpace 7.2 on Linux

eddiebergman commented 4 days ago

Should be fixed with new release from #346