bio_embeddings icon indicating copy to clipboard operation
bio_embeddings copied to clipboard

ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject

Open FYY99117 opened this issue 3 years ago • 5 comments

I'm using Jupiter notebook to run from bio_embeddings.embed import SeqVecEmbedder reported an errorValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject. I tried the following methods, but they didn't work。 pip uninstall numpy pip install numpy==1.21.2

FYY99117 avatar Feb 28 '22 07:02 FYY99117

Thanks for reporting the issue. Coudl you give me some more detail about how you install the pipeline (from pypi or from github?)

sacdallago avatar Mar 16 '22 15:03 sacdallago

I ran into the same issue.

Installed into a fresh environment

conda create -n seqvec python=3.9
pip install -U "bio_embeddings[seqvec]"
# packages in environment at /Users/jonathan/miniconda3/envs/seqvec:
#
# Name                    Version                   Build  Channel
alabaster                 0.7.12                   pypi_0    pypi
appdirs                   1.4.4                    pypi_0    pypi
atomicwrites              1.4.0                    pypi_0    pypi
attrs                     21.4.0                   pypi_0    pypi
babel                     2.10.1                   pypi_0    pypi
bio-embeddings            0.2.2                    pypi_0    pypi
bio-embeddings-allennlp   0.9.2                    pypi_0    pypi
biopython                 1.79                     pypi_0    pypi
blis                      0.7.7                    pypi_0    pypi
boto3                     1.23.0                   pypi_0    pypi
botocore                  1.26.0                   pypi_0    pypi
ca-certificates           2022.4.26            hecd8cb5_0
catalogue                 1.0.0                    pypi_0    pypi
certifi                   2021.10.8        py39hecd8cb5_2
charset-normalizer        2.0.12                   pypi_0    pypi
click                     8.1.3                    pypi_0    pypi
conllu                    4.4                      pypi_0    pypi
cycler                    0.11.0                   pypi_0    pypi
cymem                     2.0.6                    pypi_0    pypi
docutils                  0.17.1                   pypi_0    pypi
editdistance              0.6.0                    pypi_0    pypi
flaky                     3.7.0                    pypi_0    pypi
flask                     2.1.2                    pypi_0    pypi
flask-cors                3.0.10                   pypi_0    pypi
fonttools                 4.33.3                   pypi_0    pypi
ftfy                      6.1.1                    pypi_0    pypi
gensim                    3.8.3                    pypi_0    pypi
gevent                    21.12.0                  pypi_0    pypi
greenlet                  1.1.2                    pypi_0    pypi
h5py                      3.6.0                    pypi_0    pypi
humanize                  3.14.0                   pypi_0    pypi
idna                      3.3                      pypi_0    pypi
imagesize                 1.3.0                    pypi_0    pypi
importlib-metadata        4.11.3                   pypi_0    pypi
iniconfig                 1.1.1                    pypi_0    pypi
itsdangerous              2.1.2                    pypi_0    pypi
jinja2                    3.1.2                    pypi_0    pypi
jmespath                  1.0.0                    pypi_0    pypi
joblib                    1.1.0                    pypi_0    pypi
jsonnet                   0.18.0                   pypi_0    pypi
jsonpickle                2.2.0                    pypi_0    pypi
kiwisolver                1.4.2                    pypi_0    pypi
libcxx                    12.0.0               h2f01273_0
libffi                    3.3                  hb1e8313_2
llvmlite                  0.38.0                   pypi_0    pypi
lock                      2018.3.25.2110           pypi_0    pypi
markupsafe                2.1.1                    pypi_0    pypi
matplotlib                3.5.2                    pypi_0    pypi
murmurhash                1.0.7                    pypi_0    pypi
ncurses                   6.3                  hca72f7f_2
nltk                      3.7                      pypi_0    pypi
numba                     0.55.1                   pypi_0    pypi
numpy                     1.21.6                   pypi_0    pypi
numpydoc                  1.3.1                    pypi_0    pypi
openssl                   1.1.1o               hca72f7f_0
overrides                 4.1.2                    pypi_0    pypi
packaging                 21.3                     pypi_0    pypi
pandas                    1.4.2                    pypi_0    pypi
parsimonious              0.9.0                    pypi_0    pypi
pillow                    9.1.0                    pypi_0    pypi
pip                       21.2.4           py39hecd8cb5_0
plac                      1.1.3                    pypi_0    pypi
plotly                    5.8.0                    pypi_0    pypi
pluggy                    1.0.0                    pypi_0    pypi
preshed                   3.0.6                    pypi_0    pypi
protobuf                  3.20.1                   pypi_0    pypi
py                        1.11.0                   pypi_0    pypi
pygments                  2.12.0                   pypi_0    pypi
pynndescent               0.5.7                    pypi_0    pypi
pyparsing                 3.0.9                    pypi_0    pypi
pytest                    7.1.2                    pypi_0    pypi
python                    3.9.12               hdfd78df_0
python-dateutil           2.8.2                    pypi_0    pypi
python-slugify            5.0.2                    pypi_0    pypi
pytorch-pretrained-bert   0.6.2                    pypi_0    pypi
pytorch-transformers      1.1.0                    pypi_0    pypi
pytz                      2022.1                   pypi_0    pypi
readline                  8.1.2                hca72f7f_1
regex                     2022.4.24                pypi_0    pypi
requests                  2.27.1                   pypi_0    pypi
responses                 0.20.0                   pypi_0    pypi
ruamel-yaml               0.17.21                  pypi_0    pypi
ruamel-yaml-clib          0.2.6                    pypi_0    pypi
s3transfer                0.5.2                    pypi_0    pypi
scikit-learn              0.24.2                   pypi_0    pypi
scipy                     1.8.0                    pypi_0    pypi
sentencepiece             0.1.96                   pypi_0    pypi
setuptools                61.2.0           py39hecd8cb5_0
six                       1.16.0                   pypi_0    pypi
smart-open                6.0.0                    pypi_0    pypi
snowballstemmer           2.2.0                    pypi_0    pypi
spacy                     2.3.7                    pypi_0    pypi
sphinx                    4.5.0                    pypi_0    pypi
sphinxcontrib-applehelp   1.0.2                    pypi_0    pypi
sphinxcontrib-devhelp     1.0.2                    pypi_0    pypi
sphinxcontrib-htmlhelp    2.0.0                    pypi_0    pypi
sphinxcontrib-jsmath      1.0.1                    pypi_0    pypi
sphinxcontrib-qthelp      1.0.3                    pypi_0    pypi
sphinxcontrib-serializinghtml 1.1.5                    pypi_0    pypi
sqlite                    3.38.3               h707629a_0
sqlparse                  0.4.2                    pypi_0    pypi
srsly                     1.0.5                    pypi_0    pypi
tenacity                  8.0.1                    pypi_0    pypi
tensorboardx              2.5                      pypi_0    pypi
text-unidecode            1.3                      pypi_0    pypi
thinc                     7.4.5                    pypi_0    pypi
threadpoolctl             3.1.0                    pypi_0    pypi
tk                        8.6.11               h3fd3227_1
tomli                     2.0.1                    pypi_0    pypi
torch                     1.10.0                   pypi_0    pypi
tqdm                      4.64.0                   pypi_0    pypi
typing-extensions         4.2.0                    pypi_0    pypi
typing-utils              0.1.0                    pypi_0    pypi
tzdata                    2022a                hda174b7_0
umap-learn                0.5.3                    pypi_0    pypi
unidecode                 1.3.4                    pypi_0    pypi
urllib3                   1.26.9                   pypi_0    pypi
wasabi                    0.9.1                    pypi_0    pypi
wcwidth                   0.2.5                    pypi_0    pypi
werkzeug                  2.1.2                    pypi_0    pypi
wheel                     0.37.1             pyhd3eb1b0_0
word2number               1.1                      pypi_0    pypi
xz                        5.2.5                hca72f7f_1
zipp                      3.8.0                    pypi_0    pypi
zlib                      1.2.12               h4dc903c_2
zope-event                4.5.0                    pypi_0    pypi
zope-interface            5.4.0                    pypi_0    pypi

Execute

>>> from bio_embeddings.embed import SeqVecEmbedder

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/jonathan/miniconda3/envs/seqvec/lib/python3.9/site-packages/bio_embeddings/__init__.py", line 12, in <module>
    import bio_embeddings.embed
  File "/Users/jonathan/miniconda3/envs/seqvec/lib/python3.9/site-packages/bio_embeddings/embed/__init__.py", line 68, in <module>
    from bio_embeddings.embed.fasttext_embedder import FastTextEmbedder
  File "/Users/jonathan/miniconda3/envs/seqvec/lib/python3.9/site-packages/bio_embeddings/embed/fasttext_embedder.py", line 4, in <module>
    from gensim.models.keyedvectors import KeyedVectors
  File "/Users/jonathan/miniconda3/envs/seqvec/lib/python3.9/site-packages/gensim/__init__.py", line 5, in <module>
    from gensim import parsing, corpora, matutils, interfaces, models, similarities, summarization, utils  # noqa:F401
  File "/Users/jonathan/miniconda3/envs/seqvec/lib/python3.9/site-packages/gensim/corpora/__init__.py", line 6, in <module>
    from .indexedcorpus import IndexedCorpus  # noqa:F401 must appear before the other classes
  File "/Users/jonathan/miniconda3/envs/seqvec/lib/python3.9/site-packages/gensim/corpora/indexedcorpus.py", line 15, in <module>
    from gensim import interfaces, utils
  File "/Users/jonathan/miniconda3/envs/seqvec/lib/python3.9/site-packages/gensim/interfaces.py", line 21, in <module>
    from gensim import utils, matutils
  File "/Users/jonathan/miniconda3/envs/seqvec/lib/python3.9/site-packages/gensim/matutils.py", line 1104, in <module>
    from gensim._matutils import logsumexp, mean_absolute_difference, dirichlet_expectation
  File ".eggs/Cython-0.29.14-py2.7-linux-x86_64.egg/Cython/Includes/numpy/__init__.pxd", line 242, in init gensim._matutils
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject

Looks like this is an issue with pinning numpy and gensim issues. gensim also claim that [email protected] is no longer supported and users should upgrade to 4.0.0+

jondeans avatar May 16 '22 17:05 jondeans

If I force gensim==4.2.0 and numpy==1.22.0 I no longer get the error, but a few warnings about bio_embeddings compatibility, of course.

Trying numpy<1.22 errors out and fails to build the wheel thats PEP 517 compliant.

jondeans avatar May 19 '22 19:05 jondeans

Thanks @jondeans . I noticed that CI also started failing us recently do to the outdated depenency stack. I guess I'll make a student' life miserable for the next week by tasking him with cleaning up :)

sacdallago avatar May 23 '22 13:05 sacdallago

Any luck on this bug?

yangyangdotcom avatar Nov 14 '22 21:11 yangyangdotcom