RougeVertBleu commited on
Commit
3517d53
·
verified ·
1 Parent(s): 4e30ecb

Fix & réorganisation

Browse files
Files changed (1) hide show
  1. app.py +18 -12
app.py CHANGED
@@ -18,8 +18,8 @@ def format_image_type1(image):
18
 
19
  def format_image_type2(image):
20
  image = ImageOps.grayscale(image) # Charge en noir et blanc mais avec une meilleure résolution
21
- image = img.resize((128, 128), Image.LANCZOS) # Redimensionner selon la taille attendue
22
- image = np.array(img) / 255.0 # Normalisation
23
  return image_single_fix(image)
24
 
25
  def image_single_fix(image_array):
@@ -60,26 +60,32 @@ def predict(image, model_name):
60
  return_text = ""
61
  if model_type == "gender_only":
62
  gender_value = prediction[0][0]
63
- gender = "Homme" if gender_value < 0.5 else "Femme" # Genre basé sur probabilité
64
- return_text = f"Genre: {gender} ({gender_value} - {get_gender_confidence(gender_value)} certitude)"
65
  elif model_type == "age_only":
66
  age_value = prediction[0][0]
67
- age = round(prediction[0][0]) # Arroundi à l'entier le plus proche "half away zero"
68
- return_text = f"Age: {age} ({age_value})"
69
  else: # "gender_age"
70
- gender_value = prediction[0][0]
71
- gender = "Homme" if gender_value < 0.5 else "Femme" # Genre basé sur probabilité
72
- age_value = prediction[0][1]
73
- age = round(prediction[0][0])
74
- return_text = f"Genre: {gender} ({gender_value} - {get_gender_confidence(gender_value)} certitude)\nAge: {age} ({age_value})"
75
 
76
  return f"{return_text}"
77
 
78
 
79
  # Fonctions utiles
80
- def get_gender_confidence(gender_value):
81
  return f"{round(abs(gender_value - 0.5) * 2 * 100)}%"
82
 
 
 
 
 
 
 
 
 
 
 
83
 
84
  # Interface Gradio
85
  iface = gr.Interface(
 
18
 
19
  def format_image_type2(image):
20
  image = ImageOps.grayscale(image) # Charge en noir et blanc mais avec une meilleure résolution
21
+ image = image.resize((128, 128), Image.LANCZOS) # Redimensionner selon la taille attendue
22
+ image = np.array(image) / 255.0 # Normalisation
23
  return image_single_fix(image)
24
 
25
  def image_single_fix(image_array):
 
60
  return_text = ""
61
  if model_type == "gender_only":
62
  gender_value = prediction[0][0]
63
+ return_text = display_gender_prediction(gender_value)
 
64
  elif model_type == "age_only":
65
  age_value = prediction[0][0]
66
+ return_text = display_age_prediction(age_value)
 
67
  else: # "gender_age"
68
+ gender_value = prediction[0][0][0]
69
+ age_value = prediction[1][0][0]
70
+ return_text = display_gender_prediction(gender_value) + "\n" + display_age_prediction(age_value)
 
 
71
 
72
  return f"{return_text}"
73
 
74
 
75
  # Fonctions utiles
76
+ def get_gender_confidence(gender_value) -> str:
77
  return f"{round(abs(gender_value - 0.5) * 2 * 100)}%"
78
 
79
+ def display_gender_prediction(gender_value) -> str:
80
+ gender = "Homme" if gender_value < 0.5 else "Femme" # Genre basé sur probabilité
81
+ rounded_gender_value_str = str(round(gender_value, 4))
82
+ return f"Genre: {gender} ({rounded_gender_value_str} - {get_gender_confidence(gender_value)} certitude)"
83
+
84
+ def display_age_prediction(age_value) -> str:
85
+ age = round(age_value) # Arroundi à l'entier le plus proche "half away zero"
86
+ rounded_age_value_str = str(round(age_value, 3))
87
+ return f"Age: {age} ({rounded_age_value_str})"
88
+
89
 
90
  # Interface Gradio
91
  iface = gr.Interface(