考虑下面的代码,第二行大约需要一分钟才能完成,对于每个程序,我都有下面的行,那么我怎样才能提供 nlp 对象而不是每次从各种程序中加载它呢?
import spacy
nlp = spacy.load('en')
理想情况下是这样的:
nlp=loadservedobject(url)
nlp 对象大约 > 2GB,因此不寻找序列化解决方案。我更喜欢提供内存中的 nlp 对象,但不知道如何围绕 python 对象创建服务器?
理想情况下,服务器应该是多线程的。
您要查找的内容称为序列化。用于此的 python 包称为 pickle。您可以在此处找到文档: https ://docs.python.org/2/library/pickle.html
// save.py
// Save a dictionary into a pickle file.
import pickle
favorite_color = { "lion": "yellow", "kitty": "red" }
pickle.dump(favorite_color, open('save.p', 'wb'))
// load.py
// Load the dictionary back from the pickle file.
import pickle
favorite_color = pickle.load(open('save.p', 'rb'))
// favorite_color is now { "lion": "yellow", "kitty": "red" }