如何在 Flask 应用程序中初始化时加载文件

How do I load a file on initialization in a flask application

我有一个大文件,我们称它为machine_learning_model.hdf5。每次 post 请求端点被命中时,我都会将它加载到我的应用程序中。伪代码如下所示:

def post(self):
  model = load_model('./machine_learning_model.hdf5')
  return( model.predict())

然而,每次命中端点时我​​都在加载文件这一事实导致了问题。通常,在初始化时将大文件加载到烧瓶应用程序中的正确方法是什么,以便各个端点可以使用所述文件中的代码。

您可以在应用程序启动时加载它并绑定到 flask 应用程序对象:

# app.py
app = Flask(__name__)
app.some_model = load_model('./machine_learning_model.hdf5')

# handlers.py
from flask import current_app

def post(self):
    return current_app.some_model.predict()