update
Browse files- .gitignore +1 -0
- app.py +9 -8
.gitignore
CHANGED
@@ -1,2 +1,3 @@
|
|
|
|
1 |
.vscode
|
2 |
.tmp/res
|
|
|
1 |
+
__pycache__
|
2 |
.vscode
|
3 |
.tmp/res
|
app.py
CHANGED
@@ -478,6 +478,7 @@ class ExplainerCheckbox(Component):
|
|
478 |
self.experiment = experiment
|
479 |
self.gallery = gallery
|
480 |
|
|
|
481 |
self.default_exp_id = self.get_explainer_id_by_name(explainer_name)
|
482 |
self.obj_metric = self.get_metric_id_by_name(OBJECTIVE_METRIC)
|
483 |
|
@@ -498,9 +499,9 @@ class ExplainerCheckbox(Component):
|
|
498 |
checkbox_group_info = self.groups.update_check(checkbox_group_info, self.default_exp_id, evt._data['value'])
|
499 |
return checkbox_group_info
|
500 |
|
501 |
-
def optimal_on_select(self, evt: gr.EventData, checkbox_group_info):
|
502 |
-
if
|
503 |
-
checkbox_group_info = self.groups.update_check(checkbox_group_info,
|
504 |
else:
|
505 |
raise ValueError("Optimal explainer id is not found.")
|
506 |
return checkbox_group_info
|
@@ -513,12 +514,12 @@ class ExplainerCheckbox(Component):
|
|
513 |
self.opt_check = gr.Checkbox(label="Optimized Parameter (Not Optimal)", interactive=False)
|
514 |
|
515 |
self.default_check.select(self.default_on_select, self.groups.info, self.groups.info)
|
516 |
-
self.opt_check.select(self.optimal_on_select, self.groups.info, self.groups.info)
|
517 |
|
518 |
self.bttn = gr.Button(value="Optimize", size="sm", variant="primary")
|
519 |
|
520 |
@spaces.GPU
|
521 |
-
def optimize(checkbox_group_info):
|
522 |
data_id = self.gallery.selected_index
|
523 |
|
524 |
opt_output = self.experiment.optimize(
|
@@ -541,13 +542,13 @@ class ExplainerCheckbox(Component):
|
|
541 |
self.experiment.manager._explainers.append(opt_output.explainer)
|
542 |
self.experiment.manager._explainer_ids.append(opt_explainer_id)
|
543 |
self.groups.insert_check(checkbox_group_info, self.explainer_name, opt_explainer_id, opt_postprocessor_id)
|
544 |
-
|
545 |
checkbox = gr.update(label="Optimized Parameter (Optimal)", interactive=True)
|
546 |
bttn = gr.update(value="Optimized", variant="secondary")
|
547 |
|
548 |
-
return [checkbox_group_info, checkbox, bttn]
|
549 |
|
550 |
-
self.bttn.click(optimize, inputs=[self.groups.info], outputs=[self.groups.info, self.opt_check, self.bttn], queue=True, concurrency_limit=1)
|
551 |
|
552 |
|
553 |
class ExpRes(Component):
|
|
|
478 |
self.experiment = experiment
|
479 |
self.gallery = gallery
|
480 |
|
481 |
+
self.optimal_exp_id = gr.State(None)
|
482 |
self.default_exp_id = self.get_explainer_id_by_name(explainer_name)
|
483 |
self.obj_metric = self.get_metric_id_by_name(OBJECTIVE_METRIC)
|
484 |
|
|
|
499 |
checkbox_group_info = self.groups.update_check(checkbox_group_info, self.default_exp_id, evt._data['value'])
|
500 |
return checkbox_group_info
|
501 |
|
502 |
+
def optimal_on_select(self, evt: gr.EventData, checkbox_group_info, optimal_exp_id):
|
503 |
+
if optimal_exp_id is not None:
|
504 |
+
checkbox_group_info = self.groups.update_check(checkbox_group_info, optimal_exp_id, evt._data['value'])
|
505 |
else:
|
506 |
raise ValueError("Optimal explainer id is not found.")
|
507 |
return checkbox_group_info
|
|
|
514 |
self.opt_check = gr.Checkbox(label="Optimized Parameter (Not Optimal)", interactive=False)
|
515 |
|
516 |
self.default_check.select(self.default_on_select, self.groups.info, self.groups.info)
|
517 |
+
self.opt_check.select(self.optimal_on_select, [self.groups.info, self.optimal_exp_id], self.groups.info)
|
518 |
|
519 |
self.bttn = gr.Button(value="Optimize", size="sm", variant="primary")
|
520 |
|
521 |
@spaces.GPU
|
522 |
+
def optimize(optimal_exp_id, checkbox_group_info):
|
523 |
data_id = self.gallery.selected_index
|
524 |
|
525 |
opt_output = self.experiment.optimize(
|
|
|
542 |
self.experiment.manager._explainers.append(opt_output.explainer)
|
543 |
self.experiment.manager._explainer_ids.append(opt_explainer_id)
|
544 |
self.groups.insert_check(checkbox_group_info, self.explainer_name, opt_explainer_id, opt_postprocessor_id)
|
545 |
+
optimal_exp_id = opt_explainer_id
|
546 |
checkbox = gr.update(label="Optimized Parameter (Optimal)", interactive=True)
|
547 |
bttn = gr.update(value="Optimized", variant="secondary")
|
548 |
|
549 |
+
return [optimal_exp_id, checkbox_group_info, checkbox, bttn]
|
550 |
|
551 |
+
self.bttn.click(optimize, inputs=[self.optimal_exp_id, self.groups.info], outputs=[self.optimal_exp_id, self.groups.info, self.opt_check, self.bttn], queue=True, concurrency_limit=1)
|
552 |
|
553 |
|
554 |
class ExpRes(Component):
|