为POST请求和机器学习部署Flask REST API

时间:2018-08-11 09:21:59

标签: python flask

我制作了一个REST API,我想将其用于部署机器学习模型。下面发布的是一个简单的虹膜数据集,它可以在脱机状态下完美运行,但是当我将其上传到Beanstalk时,它出现了HTTP 500错误。这个应该接受一个PUSH请求,但它不起作用,但是当我用GET请求返回“ Hello World”创建一个更简单的请求时,它就起作用了。下面的代码有什么问题?

谢谢。

from flask import Flask, request, jsonify
from sklearn.externals import joblib

application = Flask(__name__)

iris_path = os.path.join(application.root_path, 'iris.pkl')
iris_model = joblib.load(iris_path, "r")

@application.route("/", methods=["POST"])
def iris():
    data = request.get_json(force=True)
    sepal_length = float(data['sepal length (cm)'])
    sepal_width = float(data['sepal width (cm)'])
    petal_length = float(data['petal length (cm)'])
    petal_width = float(data['petal width (cm)'])
    response = iris_model.predict([[sepal_length, sepal_width, petal_length, petal_width]]).tolist()
    return jsonify(response)

if __name__ == "__main__":
    application.run(debug = True)

我将模型文件,python文件和需求文件压缩并压缩,然后将其上传到Elastic Beanstalk,但这不适用于发布请求。

0 个答案:

没有答案