Download app.py from ItsProtesilaus/InternSpirit_hackathon: direct link, hf CLI and curl.
- Browser
- Download file 1.28 kB
-
https://huggingface.co/spaces/ItsProtesilaus/InternSpirit_hackathon/resolve/main/app.py
- Command line
-
hf download hf://spaces/ItsProtesilaus/InternSpirit_hackathon/app.py
-
curl -L -o app.py https://huggingface.co/spaces/ItsProtesilaus/InternSpirit_hackathon/resolve/main/app.py
1.28 kB
| 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 | |
| def success(): | |
| return "Model Deployed Successfully!!" | |
| 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) | |