学习记录639@python机器学习模型部署与访问实战-基于Flask

概述

本文基于Flask web框架,搭建机器学习模型部署与使用的简单案例。传递数据用json格式。
Flask就是python中的一个web框架,和springboot类似,但是这个框架真的不好用,毕竟python不是专门写web的。
需要先pip install flask,且要用专业版本pycharm创建flask项目

创建flask项目及本案例整体结构

创捷flask项目
在这里插入图片描述

项目结构
在这里插入图片描述
app.py文件是外界访问的入口,有java基础的应该很容易看懂以上内容。
models文件夹中的test.py中是机器学习模型,运行这个文件就可以保存这个模型,模型文件保存在fitedModels文件夹中,待app.py使用。

test.py

import joblib #注意先安装 pip install joblib
from sklearn.datasets import load_iris
from sklearn import model_selection
from xgboost import XGBClassifier
#载入鸢尾花数据集
X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y,test_size=0.25, random_state=1234)
clf=XGBClassifier().fit(X_train, y_train)
joblib.dump(clf, './fitedModels/XGBClassifierModel.pkl') #保存在当前文件目录下的fitedModels目录下
# 待会拿这个测试[[5.1,3.5,1.4,0.2],[4.9,3,1.4,0.2]] 测试

app.py

from flask import Flask,request,jsonify
app = Flask(__name__)
import joblib #注意先安装 pip install joblib

@app.route('/predict',methods=["POST"])
def predict():  # put application's code here

    data = request.get_json(force=True)
    # 加载XGBClassifierModel.pkl
    model = joblib.load('./models/fitedModels/XGBClassifierModel.pkl')
    # 预测
    predict = model.predict(data)
    info = {'result': str(predict)}
    return jsonify(info)  # 返回结果

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

测试

在app.py中启动项目后,postman中访问这个路径(http://localhost:5000/predict)并传递需要预测的样本数据。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
实际使用中,flask项目部署在云上,其他项目比如java会远程访问这个项目的特定模型,然后收到返回的值继续进行其他操作,比如是否拒绝这个样本或者发送短信等等。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值