Spaces:
Runtime error
Runtime error
Aurel-test
commited on
Commit
•
3a88b8f
1
Parent(s):
7022682
Change tab order
Browse files
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("
|
430 |
-
gr.Markdown("##
|
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)
|