【问题标题】:ValueError with spacy.load('en_core_web_sm')带有 spacy.load('en_core_web_sm') 的 ValueError
【发布时间】:2019-03-27 06:38:41
【问题描述】:

我得到 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_sm 创建一个名为 en in 的文件夹 Python35\Lib\site-packages\spacy\data ,将复制的内容粘贴到en,并将文件夹重命名为en_core_web_sm-2.0.0。

  2. 复制 __init__.py en_core_web_sm 中的文件并将其粘贴到 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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      为了让您通过快捷链接“en”使用 en_core_web_sm 模型,spaCy 创建了一个符号链接。这意味着您需要拥有执行此操作的权限。更多详情请看这里:https://spacy.io/usage/models#usage-link

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

      --从您在问题中提到的同一链接复制。没有侵犯版权。

      【讨论】:

      • 谢谢。当我运行 nlp = spacy.load('en_core_web_sm') 时,会出现错误 ValueError: could not broadcast input array from shape (96) into shape (128)。我似乎找不到任何关于为什么会发生此错误的解释。
      • 您是否创建了相同的符号链接?
      猜你喜欢
      • 2021-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      相关资源
      最近更新 更多