2017-07-08 34 views
-1

目標是接受UI多個參數並將其提供給模型(127.0.0.1:5002)使用flask API,然後將模型中的評分發送回UI(127.0.0.1 :5001)將值解析爲模型(燒瓶)時出錯

當模型接受來自用戶界面的值時,我收到錯誤(最後在下面發佈)。 因此,我發佈值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) 

Image of ERROR

回答

0

你只是傳遞一個字符串,'args.xyz',以read_json,你應該使用args['xyz'](假設這是json數據,因爲我沒有看到任何與xyz密鑰被傳遞到後端的東西)。

+0

這可能是一個問題「我沒有看到任何xyz鍵傳遞給後端」 – user3788123