File size: 1,280 Bytes
ca18072 b3c121b fee8390 b3c121b ca18072 3d5a952 ca18072 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | import tensorflow as tf
import numpy as np
import os
import pandas as pd
from flask import Flask, request, jsonify
import joblib
import sklearn
from werkzeug.exceptions import RequestEntityTooLarge
model=tf.keras.models.load_model('model_beta2_1.keras')
preprocessor=joblib.load('preprocessor_beta2.pkl')
app = Flask(__name__)
app.config['MAX_CONTENT_LENGTH'] = 100 * 1024 * 1024
BATCH_SIZE=128
@app.route('/')
def success():
return "Model Deployed Successfully!!"
@app.route('/predict', methods=['POST'])
def predict():
try:
data=request.get_json()
if isinstance(data,dict):
data=pd.DataFrame([data])
else:
data=pd.DataFrame(data)
preds=[]
for i in range(0,len(data), BATCH_SIZE):
X=preprocessor.transform(data.iloc[i:i+BATCH_SIZE])
pred_probs=model.predict(X)
pred=(pred_probs>0.632).astype(int)
preds.extend(zip(pred_probs.tolist(),pred.tolist()))
return jsonify(preds)
except RequestEntityTooLarge:
return jsonify({'Error: Request Entity Too Large'}), 413
except Exception as e:
return f'Error: {e}', 500
if __name__ == '__main__':
app.run(host='0.0.0.0' ,port=7860, debug=False)
|