我正在尝试让numpy<1.19.0和ConfigSpace==0.4.16在python==3.7 conda环境中工作。已安装的numpy版本为1.18.5。
我收到以下错误:
Traceback (most recent call last):
File "/home/user/.conda/envs/deephyper/bin/deephyper", line 5, in <module>
from deephyper.core.cli import main
File "/home/user/.conda/envs/deephyper/lib/python3.7/site-packages/deephyper/core/cli/__init__.py", line 1, in <module>
from deephyper.core.cli.cli import main
File "/home/user/.conda/envs/deephyper/lib/python3.7/site-packages/deephyper/core/cli/cli.py", line 9, in <module>
from deephyper.core.cli import hps, nas, balsam_submit
File "/home/user/.conda/envs/deephyper/lib/python3.7/site-packages/deephyper/core/cli/hps.py", line 6, in <module>
from deephyper.search.util import load_attr_from
File "/home/user/.conda/envs/deephyper/lib/python3.7/site-packages/deephyper/search/__init__.py", line 6, in <module>
from deephyper.search.search import Search
File "/home/user/.conda/envs/deephyper/lib/python3.7/site-packages/deephyper/search/search.py", line 8, in <module>
from deephyper.evaluator.evaluate import Evaluator
File "/home/user/.conda/envs/deephyper/lib/python3.7/site-packages/deephyper/evaluator/__init__.py", line 5, in <module>
from deephyper.evaluator.evaluate import Encoder
File "/home/user/.conda/envs/deephyper/lib/python3.7/site-packages/deephyper/evaluator/evaluate.py", line 15, in <module>
import skopt
File "/home/user/.conda/envs/deephyper/lib/python3.7/site-packages/skopt/__init__.py", line 45, in <module>
from . import callbacks
File "/home/user/.conda/envs/deephyper/lib/python3.7/site-packages/skopt/callbacks.py", line 17, in <module>
from skopt.utils import dump
File "/home/user/.conda/envs/deephyper/lib/python3.7/site-packages/skopt/utils.py", line 19, in <module>
from .sampler import Sobol, Lhs, Hammersly, Halton, Grid
File "/home/user/.conda/envs/deephyper/lib/python3.7/site-packages/skopt/sampler/__init__.py", line 4, in <module>
from .lhs import Lhs
File "/home/user/.conda/envs/deephyper/lib/python3.7/site-packages/skopt/sampler/lhs.py", line 9, in <module>
from ..space import Space, Categorical
File "/home/user/.conda/envs/deephyper/lib/python3.7/site-packages/skopt/space/__init__.py", line 5, in <module>
from .space import *
File "/home/user/.conda/envs/deephyper/lib/python3.7/site-packages/skopt/space/space.py", line 27, in <module>
import ConfigSpace as CS
File "/home/user/.conda/envs/deephyper/lib/python3.7/site-packages/ConfigSpace/__init__.py", line 37, in <module>
from ConfigSpace.configuration_space import Configuration, \
File "ConfigSpace/configuration_space.pyx", line 39, in init ConfigSpace.configuration_space
File "ConfigSpace/hyperparameters.pyx", line 1, in init ConfigSpace.hyperparameters
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject我尝试了其他类似问题中建议的解决方案,例如尝试其他版本的numpy或删除所有numpy安装,并使用pip options --no-cache-dir --no-binary重新安装numpy和ConfigSpace,但错误仍然存在。
有没有其他我可以尝试的潜在解决方案?
发布于 2021-02-01 00:03:41
我通过咨询this GitHub issue page获得了一些关于这个问题的更多见解。事实证明,如果来自PyObject的大小小于来自C标头的大小,则必须升级由错误引用的包(这里是numpy)来解决错误,反之亦然。
我能够通过将numpy升级到1.20.0版本来解决这个问题,尽管该版本的要求是numpy<1.19.0。
发布于 2021-02-26 15:47:15
分享这一点以防对其他人有帮助:我试图让fairseq工作,但由于可能的原因遇到了同样的ValueError问题,因为二进制不兼容,并且Jake的suggestion将numpy更新到1.20.0帮助解决了这个问题,甚至在特别要求numpy<1.19.0的情况下也是如此。
发布于 2021-05-18 05:31:33
我遇到了同样的问题:ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject,这个解决方案对我很有效。具体地说,使用Dockerfile创建镜像时,我安装了需要numpy<1.19.0的flair==0.8.0.post1。但是在安装flair==0.8.0.post1之后,我安装了numpy==1.20.0,这样就避免了这个问题。Dockerfile的这一部分是:
RUN pip install flair==0.8.0.post1
RUN pip install numpy==1.20.0https://stackoverflow.com/questions/65974718
复制相似问题