Download test_model.py from aliprf/Ad-Corre: direct link, hf CLI and curl.
- Browser
- Download file 1.42 kB
-
https://huggingface.co/aliprf/Ad-Corre/resolve/main/test_model.py
- Command line
-
hf download hf://aliprf/Ad-Corre/test_model.py
-
curl -L -o test_model.py https://huggingface.co/aliprf/Ad-Corre/resolve/main/test_model.py
1.42 kB
| import tensorflow as tf | |
| import tensorflow.keras as keras | |
| import numpy as np | |
| import matplotlib.pyplot as plt | |
| import math | |
| from datetime import datetime | |
| from numpy import save, load, asarray | |
| import csv | |
| from skimage.io import imread | |
| from skimage.transform import resize | |
| import pickle | |
| from PIL import Image | |
| import os | |
| # tf.test.is_gpu_available() | |
| class TestModels: | |
| def __init__(self, h5_address:str, GPU=True): | |
| self.exps = ['Neutral', 'Happy', 'Sad', 'Surprise', 'Fear', 'Disgust', 'Anger'] | |
| if GPU: | |
| physical_devices = tf.config.list_physical_devices('GPU') | |
| tf.config.experimental.set_memory_growth(physical_devices[0], True) | |
| self.model = self.load_model(h5_address=h5_address) | |
| def load_model(self, h5_address: str): | |
| "load weight file and create the model once" | |
| model = tf.keras.models.load_model(h5_address, custom_objects={'tf': tf}) | |
| return model | |
| def recognize_fer(self, img_path:str): | |
| "create and image from the path and recognize expression" | |
| img = imread(img_path) | |
| # resize img to 1*224*224*3 | |
| img = resize(img, (224, 224,3)) | |
| img = np.expand_dims(img, axis=0) | |
| # | |
| prediction = self.model.predict_on_batch([img]) | |
| exp = np.array(prediction[0]) | |
| '''in case you need the embeddings''' | |
| # embeddings = prediction[1:] | |
| print(self.exps[np.argmax(exp)]) | |