python - 部署机器学习 python 应用程序时出错
问题描述
我正在尝试将我的 XGboost 模型部署到 kubernetes 中。我在编写烧瓶代码时遇到问题。这是代码(从github导入)。每当我尝试部署到 Web 服务器时,都会遇到错误消息:参数无效。请帮我解决这个问题,并在此先感谢您。
'''
#
import json
import pickle
import numpy as np
from flask import Flask, request
#
flask_app = Flask(__name__)
#ML model path
model_path = "Y:/Docker_Tests/Deploy-ML-model-master/Deploy-ML-model-master/ML_Model/model2.pkl"
@flask_app.route('/', methods=['GET'])
def index_page():
return_data = {
"error" : "0",
"message" : "Successful"
}
return flask_app.response_class(response=json.dumps(return_data), mimetype='application/json')
@flask_app.route('/predict',methods=['GET'])
def model_deploy():
try:
age = request.form.get('age')
bs_fast = request.form.get('BS_Fast')
bs_pp = request.form.get('BS_pp')
plasma_r = request.form.get('Plasma_R')
plasma_f = request.form.get('Plasma_F')
HbA1c = request.form.get('HbA1c')
fields = [age,bs_fast,bs_pp,plasma_r,plasma_f,HbA1c]
if not None in fields:
#Datapreprocessing Convert the values to float
age = float(age)
bs_fast = float(bs_fast)
bs_pp = float(bs_pp)
plasma_r = float(plasma_r)
plasma_f = float(plasma_f)
hbA1c = float(HbA1c)
result = [age,bs_fast,bs_pp,plasma_r,plasma_f,HbA1c]
#Passing data to model & loading the model from disk
classifier = pickle.load(open(model_path, 'rb'))
prediction = classifier.predict([result])[0]
conf_score = np.max(classifier.predict_proba([result]))*100
return_data = {
"error" : '0',
"message" : 'Successfull',
"prediction": prediction,
"confidence_score" : conf_score.round(2)
}
else:
return_data = {
"error" : '1',
"message": "Invalid Parameters"
}
except Exception as e:
return_data = {
'error' : '2',
"message": str(e)
}
return flask_app.response_class(response=json.dumps(return_data), mimetype='application/json')
if __name__ == "__main__":
flask_app.run(host ='0.0.0.0',port=9091, debug=True)
'''
解决方案
推荐阅读
- sql - 如何使用SQL查询今晚和明天早班之间的时间?
- reactjs - Redux Thunk:redux thunk 没有调度一个动作
- android - Android Studio:没有显示完整的生产力指南
- java - 将多个 GetMapping 组合成一个端点和过滤器
- react-native - 如何更改 Expo React 本机默认端口 19000
- vodapay-miniprogram - 您可以在模拟器中获得 Vodapay 小程序的授权码吗?
- sql - 当您的 MYSQL 模块未在 XAMPP 控制面板中启动时该怎么办
- laravel - Laravel UI 重复电子邮件错误完整性约束违规:1062
- java - 具有多个消费者的 Spring Boot RabbitMQ 单队列
- javascript - 西里尔 URL 字符上的 TypeError?