File size: 1,105 Bytes
35c4f9e 587e3a7 |
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 50 51 |
import sys
sys.path.append("./src")
from kidney_classification.pipeline.prediction import PredictionPipeline
from kidney_classification.utils.common import decodeImage
from flask_cors import CORS, cross_origin
import os
from flask import Flask, request, jsonify, render_template
os.putenv("LANG", "en_US.UTF-8")
os.putenv("LC_ALL", "en_US.UTF-8")
app = Flask(__name__)
CORS(app)
class ClientApp:
def __init__(self):
self.filename = "inputImage.jpg"
self.classifier = PredictionPipeline(self.filename)
@app.route("/", methods=["GET"])
@cross_origin()
def home():
return render_template("index.html")
@app.route("/train", methods=["GET", "POST"])
@cross_origin()
def trainRoute():
os.system("dvc repro")
return "Training done successfully!"
@app.route("/predict", methods=["POST"])
@cross_origin()
def predictRoute():
image = request.json["image"]
decodeImage(image, clApp.filename)
result = clApp.classifier.predict()
return jsonify(result)
if __name__ == "__main__":
clApp = ClientApp()
app.run(host="0.0.0.0", port=7860) # for AWS
|