File size: 560 Bytes
5331715
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from tensorflow.keras.models import load_model
from PIL import Image
import numpy as np

model = load_model("my_model.h5")
emotions = ["Angry", "Disgust", "Fear", "Happy", "Sad", "Surprise", "Neutral"]

def preprocess(image):
    image = image.convert("L").resize((48, 48))
    arr = np.array(image) / 255.0
    arr = np.expand_dims(arr, axis=(0, -1))  # (1, 48, 48, 1)
    return arr

def predict(image):
    img = preprocess(image)
    pred = model.predict(img)
    label = emotions[np.argmax(pred)]
    return {"label": label, "score": float(np.max(pred))}