python - 直接从打包的 tar.gz 文件加载 spacy 模型

标签 python model nlp load spacy

是否可以直接从 tar 文件加载打包的 spacy 模型(即 foo.tar.gz)而不是预先安装它?我会想象这样的事情:

import spacy 

nlp = spacy.load(/some/path/foo.tar.gz)

最佳答案

不,这目前是不可能的。 .tar.gz 存档的主要目的是使它们易于通过 pip install 安装。但是,您始终可以从存档中提取模型数据,然后从路径加载它 – see here for more details .

nlp = spacy.load('/path/to/en_core_web_md')

使用 spacy link command您还可以为您的模型创建“快捷链接”,即允许您使用自定义名称而不是完整路径或包名称加载模型的符号链接(symbolic link)。如果您正在处理大型模型和多个环境(并且不想在每个环境中安装数据),这将特别有用。

python -m spacy link /path/to/model_data cool_model

上面的快捷方式链接可以让你像这样加载你的模型:

nlp = spacy.load('cool_model')

或者,如果您真的需要从存档中加载模型,您总是可以为 spacy.load 编写一个简单的包装器,它获取文件,提取内容,读取 model meta , 获取数据目录的路径然后调用 spacy.util.load_model_from_path并返回 nlp 对象。

关于python - 直接从打包的 tar.gz 文件加载 spacy 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49274650/

相关文章:

Django:获取相关对象的相关对象并传递给模板

ruby-on-rails - ruby on Rails 中的 after_update 回调

machine-learning - NLP 预训练模型的数据预处理(例如 ELMo、Bert)

Python获取硬盘信息

python - 使用 `pip` 部署自定义 python 包

python - 对象没有属性 '__getitem__'

R:如何根据行字符串创建集群

java - 语言检测器

python - 如何比较 Django QuerySet 中 2 个字段的值?

Python/Selenium - 无法点击 www.instagram.com 上的“接受 cookie”按钮