'NoneType'和'int'实例之间不支持docker

时间:2019-09-28 11:19:09

标签: docker flask pickle

我正在尝试使用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)

0 个答案:

没有答案