Spaces:
Runtime error
Runtime error
jhj0517
commited on
Commit
·
bb21642
1
Parent(s):
a3a4de0
Refactor parameters as function
Browse files
app.py
CHANGED
|
@@ -1,5 +1,6 @@
|
|
| 1 |
import gradio as gr
|
| 2 |
from gradio_image_prompter import ImagePrompter
|
|
|
|
| 3 |
import os
|
| 4 |
import yaml
|
| 5 |
|
|
@@ -30,6 +31,27 @@ class App:
|
|
| 30 |
gr.Accordion(visible=mode == AUTOMATIC_MODE),
|
| 31 |
]
|
| 32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
def launch(self):
|
| 34 |
_mask_hparams = self.hparams["mask_hparams"]
|
| 35 |
|
|
@@ -47,23 +69,7 @@ class App:
|
|
| 47 |
choices=self.sam_inf.available_models)
|
| 48 |
|
| 49 |
with gr.Accordion("Mask Parameters", open=False) as acc_mask_hparams:
|
| 50 |
-
|
| 51 |
-
interactive=True)
|
| 52 |
-
nb_points_per_batch = gr.Number(label="points_per_batch ", value=_mask_hparams["points_per_batch"],
|
| 53 |
-
interactive=True)
|
| 54 |
-
sld_pred_iou_thresh = gr.Slider(label="pred_iou_thresh ", value=_mask_hparams["pred_iou_thresh"],
|
| 55 |
-
minimum=0, maximum=1, interactive=True)
|
| 56 |
-
sld_stability_score_thresh = gr.Slider(label="stability_score_thresh ", value=_mask_hparams["stability_score_thresh"],
|
| 57 |
-
minimum=0, maximum=1, interactive=True)
|
| 58 |
-
sld_stability_score_offset = gr.Slider(label="stability_score_offset ", value=_mask_hparams["stability_score_offset"],
|
| 59 |
-
minimum=0, maximum=1)
|
| 60 |
-
nb_crop_n_layers = gr.Number(label="crop_n_layers ", value=_mask_hparams["crop_n_layers"],)
|
| 61 |
-
sld_box_nms_thresh = gr.Slider(label="box_nms_thresh ", value=_mask_hparams["box_nms_thresh"],
|
| 62 |
-
minimum=0, maximum=1)
|
| 63 |
-
nb_crop_n_points_downscale_factor = gr.Number(label="crop_n_points_downscale_factor ",
|
| 64 |
-
value=_mask_hparams["crop_n_points_downscale_factor"],)
|
| 65 |
-
nb_min_mask_region_area = gr.Number(label="min_mask_region_area ", value=_mask_hparams["min_mask_region_area"],)
|
| 66 |
-
cb_use_m2m = gr.Checkbox(label="use_m2m ", value=_mask_hparams["use_m2m"])
|
| 67 |
|
| 68 |
cb_multimask_output = gr.Checkbox(label="multimask_output", value=_mask_hparams["multimask_output"])
|
| 69 |
|
|
@@ -77,16 +83,13 @@ class App:
|
|
| 77 |
|
| 78 |
sources = [img_input, img_input_prompter, dd_input_modes]
|
| 79 |
model_params = [dd_models]
|
| 80 |
-
mask_hparams =
|
| 81 |
-
|
| 82 |
-
sld_box_nms_thresh, nb_crop_n_points_downscale_factor, nb_min_mask_region_area,
|
| 83 |
-
cb_use_m2m, cb_multimask_output]
|
| 84 |
|
| 85 |
btn_generate.click(fn=self.sam_inf.divide_layer,
|
| 86 |
-
inputs=
|
| 87 |
btn_open_folder.click(fn=lambda: open_folder(os.path.join(OUTPUT_DIR)),
|
| 88 |
inputs=None, outputs=None)
|
| 89 |
-
|
| 90 |
dd_input_modes.change(fn=self.on_mode_change,
|
| 91 |
inputs=[dd_input_modes],
|
| 92 |
outputs=[img_input, img_input_prompter, acc_mask_hparams])
|
|
|
|
| 1 |
import gradio as gr
|
| 2 |
from gradio_image_prompter import ImagePrompter
|
| 3 |
+
from typing import List, Dict, Optional, Union
|
| 4 |
import os
|
| 5 |
import yaml
|
| 6 |
|
|
|
|
| 31 |
gr.Accordion(visible=mode == AUTOMATIC_MODE),
|
| 32 |
]
|
| 33 |
|
| 34 |
+
def mask_parameters(self,
|
| 35 |
+
hparams: Optional[Dict] = None):
|
| 36 |
+
if hparams is None:
|
| 37 |
+
hparams = self.hparams["mask_hparams"]
|
| 38 |
+
mask_components = [
|
| 39 |
+
gr.Number(label="points_per_side ", value=hparams["points_per_side"], interactive=True),
|
| 40 |
+
gr.Number(label="points_per_batch ", value=hparams["points_per_batch"], interactive=True),
|
| 41 |
+
gr.Slider(label="pred_iou_thresh ", value=hparams["pred_iou_thresh"], minimum=0, maximum=1,
|
| 42 |
+
interactive=True),
|
| 43 |
+
gr.Slider(label="stability_score_thresh ", value=hparams["stability_score_thresh"], minimum=0,
|
| 44 |
+
maximum=1, interactive=True),
|
| 45 |
+
gr.Slider(label="stability_score_offset ", value=hparams["stability_score_offset"], minimum=0,
|
| 46 |
+
maximum=1),
|
| 47 |
+
gr.Number(label="crop_n_layers ", value=hparams["crop_n_layers"]),
|
| 48 |
+
gr.Slider(label="box_nms_thresh ", value=hparams["box_nms_thresh"], minimum=0, maximum=1),
|
| 49 |
+
gr.Number(label="crop_n_points_downscale_factor ", value=hparams["crop_n_points_downscale_factor"]),
|
| 50 |
+
gr.Number(label="min_mask_region_area ", value=hparams["min_mask_region_area"]),
|
| 51 |
+
gr.Checkbox(label="use_m2m ", value=hparams["use_m2m"])
|
| 52 |
+
]
|
| 53 |
+
return mask_components
|
| 54 |
+
|
| 55 |
def launch(self):
|
| 56 |
_mask_hparams = self.hparams["mask_hparams"]
|
| 57 |
|
|
|
|
| 69 |
choices=self.sam_inf.available_models)
|
| 70 |
|
| 71 |
with gr.Accordion("Mask Parameters", open=False) as acc_mask_hparams:
|
| 72 |
+
mask_hparams_component = self.mask_parameters(_mask_hparams)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 73 |
|
| 74 |
cb_multimask_output = gr.Checkbox(label="multimask_output", value=_mask_hparams["multimask_output"])
|
| 75 |
|
|
|
|
| 83 |
|
| 84 |
sources = [img_input, img_input_prompter, dd_input_modes]
|
| 85 |
model_params = [dd_models]
|
| 86 |
+
mask_hparams = mask_hparams_component + [cb_multimask_output]
|
| 87 |
+
input_params = sources + model_params + mask_hparams
|
|
|
|
|
|
|
| 88 |
|
| 89 |
btn_generate.click(fn=self.sam_inf.divide_layer,
|
| 90 |
+
inputs=input_params, outputs=[gallery_output, output_file])
|
| 91 |
btn_open_folder.click(fn=lambda: open_folder(os.path.join(OUTPUT_DIR)),
|
| 92 |
inputs=None, outputs=None)
|
|
|
|
| 93 |
dd_input_modes.change(fn=self.on_mode_change,
|
| 94 |
inputs=[dd_input_modes],
|
| 95 |
outputs=[img_input, img_input_prompter, acc_mask_hparams])
|