【问题标题】:How to share variables between 2 API definitions in flask?如何在烧瓶中的 2 个 API 定义之间共享变量?
【发布时间】:2020-12-28 07:12:01
【问题描述】:

我的代码是这样的。我正在使用 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 字典中。如何处理?

【问题讨论】:

    标签: python api dictionary flask flask-restful


    【解决方案1】:

    您可以将其定义为全局变量。

    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()
    

    【讨论】:

      猜你喜欢
      • 2020-04-08
      • 2017-08-10
      • 2020-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多