我有一个适合的TfidfVectorizer与~ 120,000功能,我保存到文件使用joblib.dump。我后来从django视图中使用joblib.load加载了这个模型,但是它太慢了(大约需要2秒)。提高加载速度的最佳方法是什么?我应该使用django的缓存框架来缓存模型吗?使用joblib.dump序列化时是否应该压缩模型?有没有一种方法可以将模型加载到内存中一次,并将其保留在内存中,而不是每次调用视图时都重新加载它?
TfidfVectorizer
joblib.dump
joblib.load
drkbr07n1#
该模型在请求之间不会改变,因此,我们希望将其加载到内存中一次并将其留在那里。这可以在views.py中通过加载模型并将其分配给全局变量来实现。
views.py
tjrkku2a2#
您必须在apps.py文件中加载模型,然后从views.py中的应用导入该模型。否则,每次请求时(每次运行www.example.com时)都会再次加载模型views.py。您应该使用joblib而不是内置的pickle库将模型pickle到磁盘。
apps.py
joblib
2条答案
按热度按时间drkbr07n1#
该模型在请求之间不会改变,因此,我们希望将其加载到内存中一次并将其留在那里。这可以在
views.py
中通过加载模型并将其分配给全局变量来实现。tjrkku2a2#
您必须在
apps.py
文件中加载模型,然后从views.py
中的应用导入该模型。否则,每次请求时(每次运行www.example.com时)都会再次加载模型views.py。您应该使用joblib
而不是内置的pickle库将模型pickle到磁盘。