Aurel-test commited on
Commit
3a88b8f
1 Parent(s): 7022682

Change tab order

Browse files
Files changed (1) hide show
  1. app.py +49 -48
app.py CHANGED
@@ -424,31 +424,11 @@ image_name = "dusseldorf_000012_000019_leftImg8bit.png"
424
  default_image = os.path.join(data_folder, "images", image_name)
425
 
426
  my_theme = gr.Theme.from_hub("YenLai/Superhuman")
 
427
  with gr.Blocks(title="Preuve de concept", theme=my_theme) as demo:
428
  gr.Markdown("# Projet 10 - Développer une preuve de concept")
429
- with gr.Tab("Prédictions"):
430
- gr.Markdown("## Comparaison de segmentation d'images Cityscapes")
431
- gr.Markdown(
432
- "### Sélectionnez une image pour voir la comparaison entre le masque réel, la prédiction FPN et la prédiction SegFormer."
433
- )
434
-
435
- image_input = gr.Dropdown(choices=image_list, label="Sélectionnez une image")
436
-
437
- gallery_output = gr.Gallery(
438
- label="Résultats de segmentation",
439
- show_label=True,
440
- elem_id="gallery",
441
- columns=[2],
442
- rows=[2],
443
- object_fit="contain",
444
- height="512px",
445
- min_width="1024px",
446
- )
447
-
448
- image_input.change(fn=process_image, inputs=image_input, outputs=gallery_output)
449
-
450
- with gr.Tab("EDA"):
451
- gr.Markdown("## Analyse Exploratoire des données Cityscapes")
452
  gr.Markdown(
453
  "### Visualisations de la distribution de chaque classe selon l'image choisie."
454
  )
@@ -471,31 +451,6 @@ with gr.Blocks(title="Preuve de concept", theme=my_theme) as demo:
471
  ],
472
  )
473
 
474
- with gr.Tab("Explication SegFormer"):
475
- gr.Markdown("## Explication du modèle SegFormer")
476
- gr.Markdown(
477
- "### La méthode Grad-CAM est une technique populaire de visualisation qui est utile pour comprendre comment un réseau neuronal convolutif a été conduit à prendre une décision de classification. Elle est spécifique à chaque classe, ce qui signifie qu’elle peut produire une visualisation distincte pour chaque classe présente dans l’image."
478
- )
479
- gr.Markdown(
480
- "### NB: Si l'image s'affiche sans masque, c'est que le modèle ne trouve pas de zones significatives pour une catégorie donnée."
481
- )
482
-
483
- with gr.Row():
484
- explain_image_input = gr.Dropdown(
485
- choices=image_list, label="Sélectionnez une image"
486
- )
487
- explain_category_input = gr.Dropdown(
488
- choices=category_list, label="Sélectionnez une catégorie"
489
- )
490
-
491
- explain_button = gr.Button("Expliquer")
492
- explain_output = gr.Plot(label="Explication SegFormer", min_width=200)
493
- explain_button.click(
494
- fn=explain_model,
495
- inputs=[explain_image_input, explain_category_input],
496
- outputs=explain_output,
497
- )
498
-
499
  with gr.Tab("Data Augmentation"):
500
  gr.Markdown("## Visualisation de l'augmentation de données")
501
  gr.Markdown(
@@ -538,6 +493,52 @@ with gr.Blocks(title="Preuve de concept", theme=my_theme) as demo:
538
  outputs=augmented_image,
539
  )
540
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
541
 
542
  # Lancer l'application
543
  demo.launch(favicon_path="static/favicon.ico", share=True)
 
424
  default_image = os.path.join(data_folder, "images", image_name)
425
 
426
  my_theme = gr.Theme.from_hub("YenLai/Superhuman")
427
+
428
  with gr.Blocks(title="Preuve de concept", theme=my_theme) as demo:
429
  gr.Markdown("# Projet 10 - Développer une preuve de concept")
430
+ with gr.Tab("Distriburion"):
431
+ gr.Markdown("## Distriburion des classes Cityscapes")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
432
  gr.Markdown(
433
  "### Visualisations de la distribution de chaque classe selon l'image choisie."
434
  )
 
451
  ],
452
  )
453
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
454
  with gr.Tab("Data Augmentation"):
455
  gr.Markdown("## Visualisation de l'augmentation de données")
456
  gr.Markdown(
 
493
  outputs=augmented_image,
494
  )
495
 
496
+ with gr.Tab("Prédictions"):
497
+ gr.Markdown("## Comparaison de segmentation d'images Cityscapes")
498
+ gr.Markdown(
499
+ "### Sélectionnez une image pour voir la comparaison entre le masque réel, la prédiction FPN (pré-enregistré) et la prédiction de SegFormer."
500
+ )
501
+
502
+ image_input = gr.Dropdown(choices=image_list, label="Sélectionnez une image")
503
+
504
+ gallery_output = gr.Gallery(
505
+ label="Résultats de segmentation",
506
+ show_label=True,
507
+ elem_id="gallery",
508
+ columns=[2],
509
+ rows=[2],
510
+ object_fit="contain",
511
+ height="512px",
512
+ min_width="1024px",
513
+ )
514
+
515
+ image_input.change(fn=process_image, inputs=image_input, outputs=gallery_output)
516
+
517
+ with gr.Tab("Explication SegFormer"):
518
+ gr.Markdown("## Explication du modèle SegFormer")
519
+ gr.Markdown(
520
+ "### La méthode Grad-CAM est une technique populaire de visualisation qui est utile pour comprendre comment un réseau neuronal convolutif a été conduit à prendre une décision de classification. Elle est spécifique à chaque classe, ce qui signifie qu’elle peut produire une visualisation distincte pour chaque classe présente dans l’image."
521
+ )
522
+ gr.Markdown(
523
+ "### NB: Si l'image s'affiche sans masque, c'est que le modèle ne trouve pas de zones significatives pour une catégorie donnée."
524
+ )
525
+
526
+ with gr.Row():
527
+ explain_image_input = gr.Dropdown(
528
+ choices=image_list, label="Sélectionnez une image"
529
+ )
530
+ explain_category_input = gr.Dropdown(
531
+ choices=category_list, label="Sélectionnez une catégorie"
532
+ )
533
+
534
+ explain_button = gr.Button("Expliquer")
535
+ explain_output = gr.Plot(label="Explication SegFormer", min_width=200)
536
+ explain_button.click(
537
+ fn=explain_model,
538
+ inputs=[explain_image_input, explain_category_input],
539
+ outputs=explain_output,
540
+ )
541
+
542
 
543
  # Lancer l'application
544
  demo.launch(favicon_path="static/favicon.ico", share=True)