簡體   English   中英

python django從命令加載緩存TfidfVectorizer並在視圖中使用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM