下载spacy模型并获取AttributeError'NoneType'对象没有属性'ndarray'

时间:2018-12-09 09:26:39

标签: python spacy

我是python spacy软件包的新手。

我想下载模型'en_core_web_sm',但出现AttributeError。

自2天以来,我在整个网络上进行搜索,但无法解决。

有人可以帮我吗?

代码:

import spacy
nlp=spacy.load('en_core_web_sm')

错误:

n = y.shape[0]

AttributeError: 'NoneType' object has no attribute 'ndarray'

我正在conda环境(spyder)上使用Python 3.6

1 个答案:

答案 0 :(得分:1)

这在开发过程中发生在我身上一次,原因是由于某种原因,我的代码欺骗了spaCy,使我以为自己在GPU上。在GPU上,spaCy使用Office.initialize = function (reason) { //... // This to inform the Authenticator to automatically close the authentication dialog once the authentication is complete. if (OfficeHelpers.Authenticator.isAuthDialog()) return; // register Google endpoint using authenticator.endpoints.registerGoogleAuth('GOOGLE-CLIENT-ID'); authenticator .authenticate(OfficeHelpers.DefaultEndpoints.Google) .then(function (token) { console.log('_GOOGLE_TOKEN: ', token); }) .catch(OfficeHelpers.Utilities.log); } 代替cupy –如果未安装numpy,则defaults to None。该代码可能应该调用cupy,但它调用的是numpy.ndarray,即cupy.ndarray,从而导致该错误。

如果您打算在GPU上运行spaCy,请确保spaCy可用,并且您已installed正确依赖CUDA版本。如果您在CPU上运行spaCy,请尝试以下操作:

  • 请检查您的环境中安装了什么,并确保您不会意外地以None.ndarray之类的半破安装结束。另外,请确保正确安装cupy
  • 令人不满意的答案,但通常会有所帮助:理想情况下,在干净的虚拟环境中,卸载spaCy及其依赖项,然后重新安装最新版本。