| 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)) |
| 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))} |
|
|