Koh*_*Koh 2 python google-app-engine gcloud spacy
我已经训练了一些 NLP 模型,并且还完成了一个 Flask 应用程序来将模型封装到一个 API 中供前端客户端调用。一切都很好,直到我尝试按照此处的教程在 Google Cloud 的 App Engine 上部署 Flask 应用程序。
在 GCloud 上,我使用 Cloud Shell 部署 Flask 应用程序gcloud app deploy,但它不断抛出错误:
OSError: [E050] Can't find model 'en'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.
Run Code Online (Sandbox Code Playgroud)
我还尝试了许多其他 SO 帖子中提出的各种解决方案,但都没有解决问题:
python3 -m spacy download en
python3 -m spacy download en_core_web_sm
sudo python3 -m spacy download en
sudo python3 -m spacy download en_core_web_sm
Run Code Online (Sandbox Code Playgroud)
我还尝试使用简单的hello world方式在Cloud Shell 上运行本地 python shell,但它以某种方式工作:
Python 3.7.3 (default, Nov 13 2019, 23:27:19)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import spacy
>>> nlp = spacy.load('en')
>>> test = "hello world"
>>> nlp(test)
hello world
>>>
Run Code Online (Sandbox Code Playgroud)
您需要做两件事才能使其正常工作。
不要使用 spacy 命令加载 Spacy lang 模块,而是使用 pip 来安装它。修改requirements.txt以添加以下行:
https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.5/en_core_web_sm-2.2.5.tar.gz#en_core_web_sm
修改您的代码以通过确切的包名称加载 lang 模型,因为不再为我们创建目录链接
spacy.load('en_core_web_sm')
这里的所有都是它的。再次部署您的应用程序,它应该可以正常工作。
| 归档时间: |
|
| 查看次数: |
538 次 |
| 最近记录: |