是否可以直接从 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/