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

Emb*_*ugs 2 flask flask-restplus

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

def post(self):
  model = load_model('./machine_learning_model.hdf5')
  return( model.predict())
Run Code Online (Sandbox Code Playgroud)

但是,每次碰到端点时我都在加载文件这一事实引起了问题。通常,在初始化时将大文件加载到Flask应用程序中的正确方法是什么,以便各个端点可以使用该文件中的代码。

小智 5

您可以在应用程序启动时加载它并绑定到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())
Run Code Online (Sandbox Code Playgroud)