NERDA 模型导入的 ValueError

ValueError with NERDA model import

我正在尝试导入 NERDA 库,以便使用它来参与 Python 中的命名实体识别任务。我最初尝试在 jupyter notebook 中导入该库,但出现以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\oefel\AppData\Local\Programs\Python\Python38\lib\site-packages\NERDA\models.py", line 13, in <module>
    from .networks import NERDANetwork
  File "C:\Users\oefel\AppData\Local\Programs\Python\Python38\lib\site-packages\NERDA\networks.py", line 4, in <module>
    from transformers import AutoConfig
  File "C:\Users\oefel\AppData\Local\Programs\Python\Python38\lib\site-packages\transformers\__init__.py", line 43, in <module>
    from . import dependency_versions_check
  File "C:\Users\oefel\AppData\Local\Programs\Python\Python38\lib\site-packages\transformers\dependency_versions_check.py", line 36, in <module>
    from .file_utils import is_tokenizers_available
  File "C:\Users\oefel\AppData\Local\Programs\Python\Python38\lib\site-packages\transformers\file_utils.py", line 51, in <module>
    from huggingface_hub import HfApi, HfFolder, Repository
  File "C:\Users\oefel\AppData\Local\Programs\Python\Python38\lib\site-packages\huggingface_hub\__init__.py", line 31, in <module>
    from .file_download import cached_download, hf_hub_url
  File "C:\Users\oefel\AppData\Local\Programs\Python\Python38\lib\site-packages\huggingface_hub\file_download.py", line 37, in <module>
    if tuple(int(i) for i in _PY_VERSION.split(".")) < (3, 8, 0):
  File "C:\Users\oefel\AppData\Local\Programs\Python\Python38\lib\site-packages\huggingface_hub\file_download.py", line 37, in <genexpr>
    if tuple(int(i) for i in _PY_VERSION.split(".")) < (3, 8, 0):
ValueError: invalid literal for int() with base 10: '6rc1'

然后我尝试在 gitbash 中使用 pip 进行全局安装,但得到了同样的错误。该库似乎安装没有错误,但是当我尝试以下导入时,我得到了相同的 ValueError:

from NERDA.models import NERDA

我也尝试了一些预煮模型导入并得到了相同的 ValueError。

from NERDA.precooked import EN_ELECTRA_EN
from NERDA.precooked import EN_BERT_ML

我在网上找不到关于此错误的任何信息,希望有人能提供一些见解?非常感谢!

看看source code of the used huggingface_hub lib。他们比较您的 python 版本以进行不同的导入。
但是您使用了 release candidate python 版本(这表明导致错误的值 '6rc1')。因为他们没有 expect/handle 这个,你得到了 int-parse-ValueError。


解决方案一:
将您的 python 版本更新为稳定版本。没有候选版本。所以你有一个只有 int 的版本号。

方案二:
Monkeypatch sys.version,在导入 NERDA 库之前。

sys.version = '3.8.0'