如何在烧瓶中的 2 API 定义之间共享变量?
How to share variables between 2 API definitions in flask?
我的代码是这样的。我正在使用烧瓶。
import *
def model_loading():
##function###
@app.route('training', methods=['GET', 'POST', 'OPTIONS'])
def training():
###function###
model_loading()
@app.route('prediction', methods=['GET', 'POST', 'OPTIONS'])
def prediction():
###function###
models_out.predict()
if __name__ == '__main__':
models_out = model_loading()
在上面的代码中 models_out
字典将在执行开始时加载我所有的模型。当训练新模型的请求到来时,再次训练后我将调用 model_loading
函数用新模型更新 models_out
字典。但是在调用预测请求时,我更新的新模型没有反映在 models_out
字典中。如何处理?
您可以将其定义为全局变量。
import *
models_out = None
def model_loading():
##function###
@app.route('training', methods=['GET', 'POST', 'OPTIONS'])
def training():
global models_out
###function###
models_out = model_loading()
@app.route('prediction', methods=['GET', 'POST', 'OPTIONS'])
def prediction():
global models_out
###function###
models_out.predict()
if __name__ == '__main__':
models_out = model_loading()
我的代码是这样的。我正在使用烧瓶。
import *
def model_loading():
##function###
@app.route('training', methods=['GET', 'POST', 'OPTIONS'])
def training():
###function###
model_loading()
@app.route('prediction', methods=['GET', 'POST', 'OPTIONS'])
def prediction():
###function###
models_out.predict()
if __name__ == '__main__':
models_out = model_loading()
在上面的代码中 models_out
字典将在执行开始时加载我所有的模型。当训练新模型的请求到来时,再次训练后我将调用 model_loading
函数用新模型更新 models_out
字典。但是在调用预测请求时,我更新的新模型没有反映在 models_out
字典中。如何处理?
您可以将其定义为全局变量。
import *
models_out = None
def model_loading():
##function###
@app.route('training', methods=['GET', 'POST', 'OPTIONS'])
def training():
global models_out
###function###
models_out = model_loading()
@app.route('prediction', methods=['GET', 'POST', 'OPTIONS'])
def prediction():
global models_out
###function###
models_out.predict()
if __name__ == '__main__':
models_out = model_loading()