python - NERDA 模型导入的 ValueError
问题描述
我正在尝试导入 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
我在网上找不到有关此错误的任何信息,希望有人能提供一些见解?非常感谢!
解决方案
看一下使用的 huggingface_hub 库的源代码。他们比较你的 python 版本来做不同的导入。
但是您使用了一个发布候选python 版本(这告诉了'6rc1'
导致错误的值)。因为他们没有预料到/没有处理这个,所以你得到了 int-parse-ValueError。
解决方案 1:
将您的 python 版本更新为稳定版本。没有候选版本。所以你有一个仅限 int 的版本号。
解决方案 2:
Monkeypatch sys.version
,在导入NERDA
库之前。
sys.version = '3.8.0'
推荐阅读
- kubernetes - 如何从 kubernetes 集群中自动删除 NotReady 节点
- r - 在 R 版本 3.2.1 中安装 dplyr
- flutter - 如何修复颤振中的“admob依赖”错误
- c# - Get 方法在使用 C# 的 Restsharp 中不起作用
- sql - 我想对时间求和,然后使用 sql 乘以薪水
- c# - 如何使用反射获取参数字段的属性
- tizen - 在哪里学习 Tizen 原生可穿戴基础知识
- javascript - 当我运行此代码时,我得到错误 admin is not defined
- mysql - AWS RDS MySQL 数据库用户名和密码足以保证商业安全
- angular - 如何在创建 Angular 6 项目期间跳过初始化 Git 存储库