如何解决部署机器学习python应用程序时出错
我正在尝试将我的XGboost模型部署到kubernetes中。我在编写Flask代码时遇到问题。这是代码(从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,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)
'''
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。