【问题标题】:Load ML Model on Flask Start-up [duplicate]在 Flask 启动时加载 ML 模型 [重复]
【发布时间】:2021-07-14 14:23:33
【问题描述】:

我正在开发一个 Flask API 来运行机器学习模型并返回预测。为此,我使用 Pickle 将模型加载到全局变量中。我想做的是在 Flask 服务器启动时将模型加载到全局变量中,并在用户需要预测时创建一个端点来运行模型。这样我就不必每次调用时都加载模型。

将模型加载到变量中的代码是:

loaded_model = pickle.load(open('model.sav', 'rb'))

Flask API 的一个非常基本的代码示例是:

app = Flask(__name__)

@app.route('/')
def home():
    return 'home'

@app.route('/getRecommendation', methods=['GET'])
def getRecommendation():
    return(loaded_model(paremeter))


if __name__ == '__main__':
    app.run()

我应该把将模型加载到变量中的代码放在哪里,以便在启动烧瓶服务器时发生并且可以从 getRecommendation 端点调用。

【问题讨论】:

    标签: python flask pickle


    【解决方案1】:

    一个简单的方法是创建一个load_model 方法来加载和返回模型,然后用functools.cache 装饰它。第一次加载需要一些时间,之后会很快。

    如果您想防止这种情况发生,您也可以调用 load_model 并丢弃 if __name__ 块内的输出。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-25
    • 2023-03-09
    • 2016-04-22
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多