jmparejaz commited on
Commit
a7f8465
·
1 Parent(s): 630e96a

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +44 -0
app.py ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from huggingface_hub import from_pretrained_keras
3
+ import numpy as np
4
+
5
+ reloaded_model = from_pretrained_keras('jmparejaz/Facial_Age-gender-eth_Recognition')
6
+ reloaded_model_eth = from_pretrained_keras('jmparejaz/Facial_eth_recognition')
7
+
8
+ def rgb2gray(rgb):
9
+ return np.dot(rgb[...,:3], [0.2989, 0.5870, 0.1140])
10
+
11
+
12
+ def predict_model(x_, model_1, model_2):
13
+ pred = model_1.predict(X_test.reshape(x_.shape[0], 48, 48, 1))
14
+ pred_eth=model_2.predict(x_.reshape(x_.shape[0], 48, 48, 1))
15
+ pred_gender=[round(pred[0][x][0]) for x in range(x_.shape[0])]
16
+ pred_age=[round(pred[1][x][0]) for x in range(x_.shape[0])]
17
+ pred_eth=[np.argmax(pred_eth[x]) for x in range(x_.shape[0])]
18
+
19
+ return pred_gender, pred_age, pred_eth
20
+
21
+
22
+ def image_classifier(input_img):
23
+ gray=rgb2gray(input_img)
24
+ g,a,e=predict_model(gray.reshape(1, 48, 48, 1),reloaded_model,reloaded_model_eth)
25
+
26
+ dict_gender={ 0: 'Male', 1:'Female'}
27
+ g=dict_gender[g]
28
+ dict_eth={0:"White", 1:"Black", 2:"Asian", 3:"Indian", 4:"Hispanic"}
29
+ e=dict_eth[e]
30
+ return ("The predicted gender is {} , predicted age is {} and the predicted ethnicity is {}".format(g,a,e))
31
+
32
+
33
+
34
+
35
+ iface = gr.Interface(
36
+ image_classifier,
37
+ gr.inputs.Image(shape=(48, 48),),
38
+ outputs=['text']
39
+ capture_session=True,
40
+ interpretation="default",
41
+ )
42
+
43
+ if __name__ == "__main__":
44
+ iface.launch(share=True)