我正在尝试使用Flask模型运行Docker容器 我已经发现了问题。 我正在尝试使用pickle文件加载预训练的模型。但是docker文件不会加载腌制的模型-> NonType
如果我在没有docker的情况下运行flask应用程序,则不会出现任何错误。 pickle文件与python文件位于同一文件夹中,因此路径应正确
这是我的代码
import pickle
from flask import Flask, request
from flasgger import Swagger
import numpy as np
import pandas as pd
with open('./rf.pkl', 'rb') as model_file:
model = pickle.load(model_file)
app = Flask(__name__)
swagger = Swagger(app)
@app.route('/')
def hello():
return ('hello docker')
@app.route('/predict')
def predict_iris():
s_length = request.args.get("s_length")
s_width = request.args.get("s_width")
p_length = request.args.get("p_length")
p_width = request.args.get("p_width")
prediction = clf.predict(np.array([[s_length, s_width, p_length, p_width]]))
return str(prediction)
@app.route('/predict_file', methods=["POST"])
def predict_iris_file():
input_data = pd.read_csv(request.files.get("input_file"), header=None)
prediction = clf.predict(input_data)
return str(list(prediction))
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)