我制作了一个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,但这不适用于发布请求。