curl -d '{"instances": [1.0, 2.0, 5.0]}' \ -X POST http://localhost:8501/v1/models/half_plus_two:predict
构建 API - RPC(远程调用)、REST(表征状态传输)
接口
1 2 3 4 5 6 7 8 9 10 11 12 13 14
@app.route('/predict', methods=['POST']) # Your API endpoint URL would consist /predict def predict(): if lr: try: json_ = request.json query = pd.get_dummies(pd.DataFrame(json_)) query = query.reindex(columns=model_columns, fill_value=0) prediction = list(lr.predict(query)) return jsonify({'prediction': str(prediction)}) except: return jsonify({'trace': traceback.format_exc()}) else: print('Train the model first') return'No model here to use'
1 2 3 4 5 6 7 8 9 10 11 12 13
from sklearn.externals import joblib
if __name__ == '__main__':
try: port = int(sys.argv[1]) except: port = 8000 lr = joblib.load('model.pkl') # Load "model.pkl" print('Model loaded') model_columns = joblib.load('model_columns.pkl') # Load "model_columns.pkl" print('Model columns loaded') app.run(host='192.168.100.162', port=port, debug=True)