简单好用的Python Flask框架部署Web服务(机器学习模型)

工作中,线下模型训练好以后,可以使用Flask Web框架,将其部署上线。用户通过API借口传入参数,对模型进行调用。

一、Flask框架主要分为一下三个流程:

1、导入Flask类
app = Flask(name)
2、注册服务器
@app.route(’/’,methods=[‘POST’,‘GET’])
3、启动服务
在主函数里定义app.run(host=‘0.0.0.0’,port=9000)

二、代码:

1、使用Flask创建服务器

# 导入Flask类
from flask import Flask
from flask import request
from flask import jsonify
import json

# 创建Flask实例,接收参数__name__表示当前文件名,默认会自动指定静态文件static
app = Flask(__name__)
# 装饰器的作用是将路由映射到视图函数get_age;告诉flask通过哪个URL可以触发函数
@app.route('/get_predict',methods=['POST'])
def get_age():
    input_json = request.json   #调用服务器时输入的json字符串
    dict_json = json.loads(input_json)
    print(type(dict_json))
    x_1= dict_json['height']
    x_2 = dict_json['weight']
    #此处可以加自己的特征处理,模型预测
    print(type(x_1))
    data = 0.5 * x_1 + 0.4 * x_2
    return str(data)   #The return type must be a string, tuple  #jsonify(data)

# Flask应用程序实例的run方法启动WEB服务器
if __name__ == '__main__':
    app.run(host='127.0.0.1',port=5000)  # 127.0.0.1 #指的是本地ip

2、使用requests访问服务器

# 调用API接口
import requests
import json

base_url = 'http://127.0.0.1:5000/get_predict'
data_json = json.dumps({'height':183,'weight':130})   #dumps:将python对象解码为json数据
response = requests.post(base_url,json=data_json)
predict_data = response.json()
print('response:',response)
print('response.text:',response.text)
print('response.content:',response.content)
print('predict_result',predict_data)

3、返回结果
简单好用的Python Flask框架部署Web服务(机器学习模型)_第1张图片

你可能感兴趣的:(Python)