batch run support added for facial attribute models

This commit is contained in:
Sefik Ilkin Serengil 2024-08-04 12:47:36 +01:00
parent 62055d09d2
commit 51717db2ba
4 changed files with 13 additions and 4 deletions

View File

@ -33,7 +33,9 @@ class ApparentAgeClient(Demography):
self.model_name = "Age"
def predict(self, img: np.ndarray) -> np.float64:
age_predictions = self.model.predict(img, verbose=0)[0, :]
# model.predict causes memory issue when it is called in a for loop
# age_predictions = self.model.predict(img, verbose=0)[0, :]
age_predictions = self.model(img, training=False).numpy()[0, :]
return find_apparent_age(age_predictions)

View File

@ -52,7 +52,10 @@ class EmotionClient(Demography):
img_gray = cv2.resize(img_gray, (48, 48))
img_gray = np.expand_dims(img_gray, axis=0)
emotion_predictions = self.model.predict(img_gray, verbose=0)[0, :]
# model.predict causes memory issue when it is called in a for loop
# emotion_predictions = self.model.predict(img_gray, verbose=0)[0, :]
emotion_predictions = self.model(img_gray, training=False).numpy()[0, :]
return emotion_predictions

View File

@ -41,7 +41,9 @@ class GenderClient(Demography):
self.model_name = "Gender"
def predict(self, img: np.ndarray) -> np.ndarray:
return self.model.predict(img, verbose=0)[0, :]
# model.predict causes memory issue when it is called in a for loop
# return self.model.predict(img, verbose=0)[0, :]
return self.model(img, training=False).numpy()[0, :]
def load_model(

View File

@ -40,7 +40,9 @@ class RaceClient(Demography):
self.model_name = "Race"
def predict(self, img: np.ndarray) -> np.ndarray:
return self.model.predict(img, verbose=0)[0, :]
# model.predict causes memory issue when it is called in a for loop
# return self.model.predict(img, verbose=0)[0, :]
return self.model(img, training=False).numpy()[0, :]
def load_model(