[英]python django load in cache TfidfVectorizer from command and use in view
我想使用 Django 命令加載 TfidfVectorizer 擬合模型,然后在視圖中重用它。 所以在命令中
from django.core.cache import cache
from sklearn.feature_extraction.text import TfidfVectorizer
class Command(BaseCommand):
....
model = TfidfVectorizer()
modelfitted = model.fit(data)
cache.set('model',modelfitted)
然后在 views.py 中我想稱之為:
def test_function(request):
mod = cache.get('model')
'mod' 對象是 None。 任何的想法?
問題是您正在使用Local-memory caching
。 正如文檔中所述,此緩存是每個進程的:
請注意,每個進程都有自己的私有緩存實例,這意味着不可能進行跨進程緩存。 這顯然也意味着本地內存緩存不是特別節省內存,因此它可能不是生產環境的好選擇。 很適合開發。
所以不能在管理命令中寫入緩存,然后在你的runserver
進程中調用這個值。
您應該將緩存后端更改為例如Filesystem caching
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
'LOCATION': '/var/tmp/django_cache',
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.