File size: 1,131 Bytes
dce847a |
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 |
from flask import Flask, render_template, request
from tensorflow.keras.models import load_model
from tensorflow.keras.preprocessing import image
import numpy as np
app = Flask(__name__)
dic = {0 : 'happy', 2 : 'angry',1 : 'sad'}
model = load_model('model.h5')
model.make_predict_function()
def predict_label(img_path):
i = image.load_img(img_path, target_size=(100, 120)) # đúng với input shape
i = image.img_to_array(i) / 255.0
i = i.reshape(1, 100, 120, 3)
pred = model.predict(i)
p = np.argmax(pred, axis=1)
return dic[p[0]]
# routes
@app.route("/", methods=['GET', 'POST'])
def main():
return render_template("app.html")
@app.route("/about")
def about_page():
return "Please subscribe Artificial Intelligence Hub..!!!"
@app.route("/submit", methods = ['GET', 'POST'])
def get_output():
if request.method == 'POST':
img = request.files['my_image']
img_path = "static/" + img.filename
img.save(img_path)
p = predict_label(img_path)
return render_template("app.html", prediction = p, img_path = img_path)
if __name__ =='__main__':
#app.debug = True
app.run(debug = True) |