简单好用的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、返回结果
在这里插入图片描述

  • 2
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Docker是一种容器化平台,可以用来打包和发布软件应用程序以及其依赖项,使其能够在不同的环境中运行。Flask是一个PythonWeb框架,用于构建轻量级的、负载较小的Web应用程序。机器学习模型是一种用于训练和预测数据的算法。 结合这些概念,可以使用Docker来部署一个基于Flask机器学习模型。首先,我们可以将机器学习模型开发为一个Python脚本或Jupyter Notebook。然后,使用Docker将该脚本打包为一个容器映像。 在编辑Dockerfile文件时,我们可以从适当的基础映像(如Python映像)开始,安装所需的Python库和依赖项。随后,将机器学习模型的代码和数据复制到容器中,并设置一个Flask的应用程序来提供API接口。 通过配置Dockerfile文件,我们可以指定容器运行时所需的环境变量和端口号。这样,我们就可以在容器中运行Flask应用程序,并暴露一个API端口供外部访问。 一旦创建了该容器映像,我们可以使用Docker容器命令来运行容器,并将其部署到云平台或本地服务器上。通过调用API接口,我们可以向容器发送数据,并获取机器学习模型的预测结果。 使用Docker来部署Flask机器学习模型带来以下好处: 1. 隔离性:容器化的机器学习模型可以隔离运行在不同环境中,保证了模型的可靠性和可复现性。 2. 扩展性:通过在云平台上部署容器,可以轻松地扩展模型的计算资源,以支持更大规模的数据集和更复杂的机器学习任务。 3. 灵活性:通过Docker容器,我们可以将机器学习模型与其他应用程序或系统集成,实现更灵活和全面的功能。 总之,使用Docker容器来部署Flask机器学习模型是一种可行且有效的方式,可以加快模型的开发、部署和运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值