spacy.load的ValueError('en_core_web_sm')

问题描述 投票:0回答:2

我为ValueError: could not broadcast input array from shape (96) into shape (128)获得spacy.load('en_core_web_sm')

我手动下载并安装了模型,因为我正在使用下载限制的工作计算机上工作。

我已按照说明从此链接下载并复制:https://github.com/explosion/spaCy/issues/3113

  1. 复制文件夹Python35\lib\site-packages\en_core_web_smPython35\Lib\site-packages\spacy\data中创建一个名为en的文件夹,将复制的内容粘贴到en,并将该文件夹重命名为en_core_web_sm-2.0.0。
  2. 复制en_core_web_sm中的__init__.py文件并将其粘贴到en中(即,init.py文件必须同时包含在Python35\Lib\site-packages\spacy\data\enPython35\Lib\site-packages\spacy\data\en\en_core_web_sm-2.0.0中)

我能够运行spacy.load('en_core_web_sm')但是我给了一个ValueError。感谢所有帮助。谢谢!

anaconda spacy miniconda
2个回答
1
投票

我有同样的错误。更新了spacy到2.1.3版。现在它正常运作。

如果您使用的是Anaconda:conda install -c conda-forge spacy


0
投票

为了让您通过快捷方式链接'en'使用en_core_web_sm模型,spaCy会创建一个符号链接。这意味着您需要具有执行此操作的权限。有关详细信息,请参见此处:https://spacy.io/usage/models#usage-link

如果其他人稍后遇到此问题,请注意:如果您无法使用管理员权限运行命令并且您需要能够通过spacy.load加载模型,则复制粘贴文件夹并重命名它实际上只是最后的手段。 (成 'en')。通常情况并非如此 - 您只需安装模型并通过其全名spacy.load('en_core_web_sm')加载它。事实上,我经常更喜欢这种语法,因为它更明确,您可以立即知道加载了哪个模型。

- 使用您在问题中提到的相同链接进行复制。没有侵犯版权。

© www.soinside.com 2019 - 2024. All rights reserved.