我正在开发一个简单的Web应用程序,该应用程序使用适度大的NLP模型,对所有用户都是一样的,理想情况下我希望从每天生成的新模型文件重新加载模型。
有没有办法让存储此模型的变量是全局的?每次用户使用它时从文件中加载它会非常慢,而且似乎太大(~1GB)被放入会话中。
谢谢!
答案 0 :(得分:0)
它可能是模块中的顶级变量,然后其他代码只能[0.0, 0.0, 1.0, 0.9, 0.8, 0.7, 1.0, 0.9, 0.8, 1.0, 0.9]
。
如果需要每天刷新,请将其包装在访问者函数中:
import
然后其他模块可以调用# data_manager.py
from datetime import datetime, timedelta
data = None
last_load_time = None
def get_data():
global data
global last_load_time
if last_load_time is None or last_load_time + timedelta(hours=24) < datetime.now():
data = some_expensive_function()
last_load_time = datetime.now()
return data
。只要其他模块导入数据,数据将保持加载在模块中;通常这将是您的Web服务器工作进程的生命周期。