ValueError: ukuran numpy.ndarray berubah, mungkin menunjukkan ketidakcocokan biner

Saya mencoba membuat numpy<1.19.0 dan ConfigSpace==0.4.16 bekerja di lingkungan python==3.7 conda. Versi numpy yang diinstal adalah 1.18.5.

Saya mendapatkan kesalahan berikut:

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

Saya mencoba solusi yang disarankan dalam pertanyaan serupa lainnya seperti mencoba versi lain dari numpy atau menghapus semua instalasi numpy dan menginstal ulang numpy dan ConfigSpace dengan opsi pip --no-cache-dir --no-binary, tetapi kesalahan tetap ada.

Apakah ada solusi potensial lain yang dapat saya coba?


person Jake    schedule 31.01.2021    source sumber


Jawaban (3)


Saya mendapatkan wawasan tambahan tentang masalah ini dengan melihat halaman masalah GitHub ini. Ternyata, jika ukuran dari PyObject lebih kecil dari ukuran dari header C, upgrade paket yang direferensikan oleh kesalahan (di sini numpy) diperlukan untuk mengatasi kesalahan tersebut, dan sebaliknya.

Saya dapat mengatasi masalah ini dengan meningkatkan versi numpy ke versi 1.20.0, meskipun persyaratannya adalah numpy<1.19.0.

person Jake    schedule 31.01.2021

Berbagi ini kalau-kalau bisa membantu orang lain: Saya mencoba membuat fairseq berfungsi dan mengalami hal yang sama masalah ValueError dengan ketidakcocokan biner sebagai kemungkinan alasannya dan saran Jake untuk memperbarui numpy ke 1.20.0 membantu memecahkan masalah bahkan melalui persyaratan yang diminta secara khusus untuk 3_.

person user1722863    schedule 26.02.2021

Saya mengalami masalah yang sama: ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject dan solusi ini berhasil untuk saya. Secara khusus, menggunakan Dockerfile untuk membuat gambar, saya menginstal flair==0.8.0.post1, yang memerlukan numpy‹1.19.0. Tetapi setelah menginstal flair==0.8.0.post1 saya menginstal numpy==1.20.0 dan ini menghindari masalah. Bagian Dockerfile ini adalah:

RUN pip install flair==0.8.0.post1
RUN pip install numpy==1.20.0
person user3473556    schedule 17.05.2021