用Flask部署模型示例

工程

训练出模型后,还要把模型应用起来,所以还需要一些工程工作需要实现。nlp 模型不太适合在本机部署,最终选择了在 GPU 机器上部署模型,然后终端通过 http 请求获取预测文本显示的方案。

后台部署

Flask 是一个 Web 应用程序框架,灵活,轻便,容易上手。本文简单介绍如何利用 flask 启动一个 web 服务,以及如何访问和调用我们的功能接口。首先我们创建一个 conda 环境:

conda create -n flask python=3.6
source activate flask
pip install flask

代码中增加一个接口函数:

from flask import Flask
from flask import request

app = Flask(__name__)

def model_infer(data):
    return data

# route把一个函数绑定到对应的 url 上
@app.route("/plugin",methods=['GET',])
def send():
    data = request.args.get('data')
   # 模型预测逻辑
    out =  model_infer(data)
    return out

if __name__ == '__main__':
    app.run(host='0.0.0.0',port=8080, debug=False)

执行 run.py 代码,后台服务开启运行:

客户端请求:

url = http://ip:8080/plugin?data="输入"

其中 model_infer 函数需要实现模型的 infer 前向计算逻辑,从请求中获取 data 字段作为输入,infer 预测的结果列表作为输出返回给调用方。

经过上面的工作,我们已经提供了一个服务接口,返回我们对对联的预测结果。

posted @ 2021-11-23 19:38  Rogn  阅读(257)  评论(0编辑  收藏  举报