yassonee commited on
Commit
51301fb
·
verified ·
1 Parent(s): 0ee0776

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -17
app.py CHANGED
@@ -11,28 +11,26 @@ app = FastAPI()
11
  # Chargement des modèles
12
  def load_models():
13
  return {
14
- "chest_classifier": pipeline("image-classification", model="codewithdark/vit-chest-xray", use_labels=True)
15
  }
16
 
17
  models = load_models()
18
 
19
  # Liste des maladies dans l'ordre des labels du modèle
20
- LABEL_MAP = [
21
- 'Kardiomegalie', # Élargissement du cœur
22
- 'Ödem', # Œdème
23
- 'Konsolidierung', # Consolidation
24
- 'Lungenentzündung', # Pneumonie
25
- 'Kein Befund' # Aucune anomalie
26
- ]
27
 
28
- def translate_label(index):
29
- try:
30
- # Convertir en entier si c'est une chaîne (ex: "LABEL_1" -> 1)
31
- if isinstance(index, str) and index.startswith('LABEL_'):
32
- index = int(index.split('_')[1]) - 1
33
- return LABEL_MAP[index]
34
- except (ValueError, IndexError):
35
- return f"Unbekannt ({index})"
36
  return translations.get(label, label)
37
 
38
  def image_to_base64(image):
@@ -257,7 +255,7 @@ async def analyze_file(file: UploadFile = File(...)):
257
  results_html += f"""
258
  <div>
259
  <span class="{confidence_class}">{pred['score']:.1%}</span> -
260
- {translate_label(pred['label'] if isinstance(pred['label'], (int, str)) else pred['label'].item())}
261
  </div>
262
  """
263
 
 
11
  # Chargement des modèles
12
  def load_models():
13
  return {
14
+ "chest_classifier": pipeline("image-classification", model="codewithdark/vit-chest-xray")
15
  }
16
 
17
  models = load_models()
18
 
19
  # Liste des maladies dans l'ordre des labels du modèle
20
+ LABEL_MAP = {
21
+ 'LABEL_0': 'Kardiomegalie', # Élargissement du cœur
22
+ 'LABEL_1': 'Ödem', # Œdème
23
+ 'LABEL_2': 'Konsolidierung', # Consolidation
24
+ 'LABEL_3': 'Lungenentzündung', # Pneumonie
25
+ 'LABEL_4': 'Kein Befund' # Aucune anomalie
26
+ }
27
 
28
+ def translate_label(label):
29
+ # Si le label est au format "LABEL_X", on le traduit
30
+ if isinstance(label, str) and label in LABEL_MAP:
31
+ return LABEL_MAP[label]
32
+ # Sinon on retourne le label original avec un avertissement
33
+ return f"Unbekannt ({label})"
 
 
34
  return translations.get(label, label)
35
 
36
  def image_to_base64(image):
 
255
  results_html += f"""
256
  <div>
257
  <span class="{confidence_class}">{pred['score']:.1%}</span> -
258
+ {translate_label(pred['label'])}
259
  </div>
260
  """
261