Skip to content

Commit

Permalink
Q4. load diffrent model and run predict
Browse files Browse the repository at this point in the history
  • Loading branch information
ipranjal committed Dec 2, 2023
1 parent 35675d6 commit 8f6be2e
Showing 1 changed file with 22 additions and 4 deletions.
26 changes: 22 additions & 4 deletions api/app.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,28 @@
from flask import Flask, request, jsonify
from joblib import load
import os
from markupsafe import escape


app = Flask(__name__)

def load_model(model_name):
dirname = os.path.dirname(__file__)
filename_svm = os.path.join(dirname, '../models/svmgamma:0.001_C:1.joblib')
svm = load(filename_svm)
filename_tree = os.path.join(dirname, '../models/treemax_depth:100.joblib')
tree = load(filename_tree)
filename_lr = os.path.join(dirname, '../models/m23csa018_lr_lbfgs.joblib')
lr = load(filename_lr)
if model_name == 'svm':
return svm
elif model_name == 'tree':
return tree
elif model_name == 'lr':
return lr
else:
return None

@app.route('/')
def index():
return "Hello, World"
Expand All @@ -12,14 +31,13 @@ def index():
def hello_world_post():
return {"op" : "Hello, World POST " + request.json["suffix"]}

@app.route('/predict', methods=['POST'])
@app.route('/predict/<model_name>', methods=['POST'])
def pred_model():
js = request.get_json()
model_name = escape(model_name)
image1 = [js['image']]
#Assuming this is the path of our best trained model
dirname = os.path.dirname(__file__)
filename = os.path.join(dirname, '../models/treemax_depth:100.joblib')
model = load(filename)
model = load_model(model_name)
pred1 = model.predict(image1)
#reurn pred1 in json
return jsonify(prediction=pred1.tolist())
Expand Down

0 comments on commit 8f6be2e

Please sign in to comment.