目标是接受UI多个参数并使用flask API将其提供给模型(127.0.0.1:5002),然后将模型中的评分发布回UI(127.0.0.1:5001)
当模型接受UI中的值时,我收到错误(最后发布在下面)。 所以我将值发布到127.0.0.1:5002,其中模型将其作为1个json对象,但我收到错误。
所以我从这段代码发布了1个json对象(让我知道代码中是否存在问题 - 我是新手)
<script>
$(function() {$('#analysis').bind('click', function() {
$.post('http://127.0.0.1:5002/',{
'CK': $('CK').val(),
'OCE': $('OCE').val(),
'range_04': $('range_04').val(),
},
function(data) {
var parsed = JSON.parse(data);
$("#xyz").text(parsed['abc']);
});
return false;
});
});
</script>
现在这段代码生成json(并且json对象提供模型)
app = Flask(__name__)
api = Api(app)
parser = reqparse.RequestParser()
parser.add_argument('args.xyz')
class getPredProb(Resource):
def post(self):
args = parser.parse_args()
clf = joblib.load('AO.pkl')
frameToScore = pandas.read_json('args.xyz')
prediction = clf.predict(frameToScore)
probability = clf.predict_proba(frameToScore)
return json.dumps({'Prediction': prediction},{'Probability':probability}), 201, {'Access-Control-Allow-Origin': 'http://127.0.0.1:5001'}
api.add_resource(getPredProb, '/')
if __name__ == '__main__':
#http_server = WSGIServer(('', 5002), app)
#http_server.serve_forever()
app.run(debug=True,port=5002)
答案 0 :(得分:0)
您只是将字符串'args.xyz'
传递给read_json
,您应该使用args['xyz']
(假设这是json数据,因为我不会看到将xyz
键传递给后端的任何内容。