RuntimeError:针对 API 版本 0xe 编译的模块,但导入句子转换器时此版本的 numpy 为 0xd

发布于 2025-01-11 09:54:35 字数 5121 浏览 7 评论 0原文

我想使用句子转换器。为此,我安装了句子转换器,如下所示:

pip installentence-transformers

然后,我按如下方式进行导入:

from句子_transformers import SentenceTransformer

这导致了以下错误:

RuntimeError:针对 API 版本 0xe 编译的模块,但此版本的 numpy 是 0xd

整个回溯是:

Traceback (most recent call last):

  File "<ipython-input-112-dbcd88385343>", line 1, in <module>
    from sentence_transformers import SentenceTransformer

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\sentence_transformers\__init__.py", line 3, in <module>
    from .datasets import SentencesDataset, ParallelSentencesDataset

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\sentence_transformers\datasets\__init__.py", line 3, in <module>
    from .ParallelSentencesDataset import ParallelSentencesDataset

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\sentence_transformers\datasets\ParallelSentencesDataset.py", line 4, in <module>
    from .. import SentenceTransformer

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\sentence_transformers\SentenceTransformer.py", line 27, in <module>
    from .models import Transformer, Pooling, Dense

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\sentence_transformers\models\__init__.py", line 1, in <module>
    from .Transformer import Transformer

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\sentence_transformers\models\Transformer.py", line 2, in <module>
    from transformers import AutoModel, AutoTokenizer, AutoConfig

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\file_utils.py", line 1985, in __getattr__
    value = getattr(module, name)

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\file_utils.py", line 1984, in __getattr__
    module = self._get_module(self._class_to_module[name])

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\file_utils.py", line 1993, in _get_module
    return importlib.import_module("." + module_name, self.__name__)

  File "C:\Users\20200016\Anaconda3\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\models\auto\modeling_auto.py", line 24, in <module>
    from ..albert.modeling_albert import (

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\models\albert\modeling_albert.py", line 51, in <module>
    from .configuration_albert import AlbertConfig

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\models\albert\configuration_albert.py", line 21, in <module>
    from ...onnx import OnnxConfig

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\onnx\__init__.py", line 17, in <module>
    from .convert import export, validate_model_outputs

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\onnx\convert.py", line 23, in <module>
    from .. import PreTrainedModel, PreTrainedTokenizer, TensorType, TFPreTrainedModel, is_torch_available

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\file_utils.py", line 1984, in __getattr__
    module = self._get_module(self._class_to_module[name])

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\file_utils.py", line 1993, in _get_module
    return importlib.import_module("." + module_name, self.__name__)

  File "C:\Users\20200016\Anaconda3\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\modeling_tf_utils.py", line 27, in <module>
    import tensorflow as tf

  File "C:\Users\20200016\Anaconda3\lib\site-packages\tensorflow\__init__.py", line 37, in <module>
    from tensorflow.python.tools import module_util as _module_util

  File "C:\Users\20200016\Anaconda3\lib\site-packages\tensorflow\python\__init__.py", line 37, in <module>
    from tensorflow.python.eager import context

  File "C:\Users\20200016\Anaconda3\lib\site-packages\tensorflow\python\eager\context.py", line 35, in <module>
    from tensorflow.python.client import pywrap_tf_session

  File "C:\Users\20200016\Anaconda3\lib\site-packages\tensorflow\python\client\pywrap_tf_session.py", line 19, in <module>
    from tensorflow.python.client._pywrap_tf_session import *

ImportError: SystemError: <built-in method __contains__ of dict object at 0x0000021655B72740> returned a result with an error set

我尝试升级 Numpy:

pip install numpy --upgrade

但这返回:

Requirement已经是最新的:numpy in c:\...\site-packages (1.22.2)

这里出了什么问题?我怎样才能克服这个错误?

I want to use sentence-transformers. To do this, I installed sentence-transformers as follows:

pip install sentence-transformers

Then, I did my import as follows:

from sentence_transformers import SentenceTransformer

Which resulted in the following error:

RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd

The entire Traceback is:

Traceback (most recent call last):

  File "<ipython-input-112-dbcd88385343>", line 1, in <module>
    from sentence_transformers import SentenceTransformer

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\sentence_transformers\__init__.py", line 3, in <module>
    from .datasets import SentencesDataset, ParallelSentencesDataset

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\sentence_transformers\datasets\__init__.py", line 3, in <module>
    from .ParallelSentencesDataset import ParallelSentencesDataset

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\sentence_transformers\datasets\ParallelSentencesDataset.py", line 4, in <module>
    from .. import SentenceTransformer

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\sentence_transformers\SentenceTransformer.py", line 27, in <module>
    from .models import Transformer, Pooling, Dense

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\sentence_transformers\models\__init__.py", line 1, in <module>
    from .Transformer import Transformer

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\sentence_transformers\models\Transformer.py", line 2, in <module>
    from transformers import AutoModel, AutoTokenizer, AutoConfig

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\file_utils.py", line 1985, in __getattr__
    value = getattr(module, name)

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\file_utils.py", line 1984, in __getattr__
    module = self._get_module(self._class_to_module[name])

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\file_utils.py", line 1993, in _get_module
    return importlib.import_module("." + module_name, self.__name__)

  File "C:\Users\20200016\Anaconda3\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\models\auto\modeling_auto.py", line 24, in <module>
    from ..albert.modeling_albert import (

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\models\albert\modeling_albert.py", line 51, in <module>
    from .configuration_albert import AlbertConfig

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\models\albert\configuration_albert.py", line 21, in <module>
    from ...onnx import OnnxConfig

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\onnx\__init__.py", line 17, in <module>
    from .convert import export, validate_model_outputs

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\onnx\convert.py", line 23, in <module>
    from .. import PreTrainedModel, PreTrainedTokenizer, TensorType, TFPreTrainedModel, is_torch_available

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\file_utils.py", line 1984, in __getattr__
    module = self._get_module(self._class_to_module[name])

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\file_utils.py", line 1993, in _get_module
    return importlib.import_module("." + module_name, self.__name__)

  File "C:\Users\20200016\Anaconda3\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)

  File "C:\Users\20200016\AppData\Roaming\Python\Python38\site-packages\transformers\modeling_tf_utils.py", line 27, in <module>
    import tensorflow as tf

  File "C:\Users\20200016\Anaconda3\lib\site-packages\tensorflow\__init__.py", line 37, in <module>
    from tensorflow.python.tools import module_util as _module_util

  File "C:\Users\20200016\Anaconda3\lib\site-packages\tensorflow\python\__init__.py", line 37, in <module>
    from tensorflow.python.eager import context

  File "C:\Users\20200016\Anaconda3\lib\site-packages\tensorflow\python\eager\context.py", line 35, in <module>
    from tensorflow.python.client import pywrap_tf_session

  File "C:\Users\20200016\Anaconda3\lib\site-packages\tensorflow\python\client\pywrap_tf_session.py", line 19, in <module>
    from tensorflow.python.client._pywrap_tf_session import *

ImportError: SystemError: <built-in method __contains__ of dict object at 0x0000021655B72740> returned a result with an error set

I have tried upgrading Numpy:

pip install numpy --upgrade

But this returns:

Requirement already up-to-date: numpy in c:\...\site-packages (1.22.2)

What goes wrong here? And how can I overcome this error?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

溺ぐ爱和你が 2025-01-18 09:54:35

我也遇到过类似的问题,就我而言,升级 numpy 可以解决它。我检查了句子转换器的requirements.txt,但他们说没有具体版本。

此外,您可以尝试在没有依赖项的情况下安装 SentenceTransformer pip install --no-deps Sentence-transformers,然后手动安装它们。下载requirements.txt并通过pip install -rrequirements.txt安装它。在此过程中,您还可以更轻松地查看某些软件包是否存在任何冲突,也许这些信息可以帮助您确定需要哪个确切的 numpy 版本。

I have had a similar problem, and in my case upgrading numpy solve it. I checked the requirements.txt for the sentencetransformer but they stated no specific version.

Additionally you can try to install the SentenceTransformer without the dependecies pip install --no-deps sentence-transformers and install them manually afterwards. By downloading the requirements.txt and install it via pip install -r requirements.txt. In this process you can also more easily see whether there are any conflicts with some packages, maybe the information will e.g., help you to figure out which exact numpy version is needed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文