update check
Browse files
app.py
CHANGED
@@ -442,7 +442,7 @@ class ExplainerCheckboxGroup(Component):
|
|
442 |
for exp in self.explainer_objs:
|
443 |
val = exp.explainer_name in DEFAULT_EXPLAINER
|
444 |
checkbox_group_info = self.update_check(checkbox_group_info, exp.default_exp_id, val)
|
445 |
-
if hasattr(exp, "optimal_exp_id"):
|
446 |
checkbox_group_info = self.update_check(checkbox_group_info, exp.optimal_exp_id, False)
|
447 |
return checkboxes + bttns + [checkbox_group_info]
|
448 |
|
@@ -504,9 +504,8 @@ class ExplainerCheckbox(Component):
|
|
504 |
return checkbox_group_info
|
505 |
|
506 |
def optimal_on_select(self, evt: gr.EventData, checkbox_group_info, opt_res):
|
507 |
-
if
|
508 |
-
|
509 |
-
checkbox_group_info = self.groups.update_check(checkbox_group_info, optimal_exp_id, evt._data['value'])
|
510 |
else:
|
511 |
raise ValueError("Optimal result is not found.")
|
512 |
return checkbox_group_info
|
@@ -559,6 +558,7 @@ class ExplainerCheckbox(Component):
|
|
559 |
return [opt_res, checkbox_group_info, checkbox, bttn]
|
560 |
|
561 |
def update_exp(exp_res):
|
|
|
562 |
try:
|
563 |
kwargs = {}
|
564 |
has_baseline = False
|
@@ -604,13 +604,13 @@ class ExplainerCheckbox(Component):
|
|
604 |
|
605 |
kwargs['model'] = self.experiment.model
|
606 |
explainer = exp_res['class'](**kwargs)
|
607 |
-
_id = exp_res['id']
|
608 |
except Exception as e:
|
609 |
# If the optimization is failed, use the default parameter explainer as optimal
|
610 |
explainer = self.experiment.manager._explainers[self.default_exp_id]
|
611 |
|
612 |
self.experiment.manager._explainers.append(explainer)
|
613 |
self.experiment.manager._explainer_ids.append(_id)
|
|
|
614 |
|
615 |
self.bttn.click(optimize, inputs=[self.groups.info], outputs=[self.opt_res, self.groups.info, self.opt_check, self.bttn], queue=True, concurrency_limit=1)
|
616 |
self.opt_res.change(update_exp, self.opt_res)
|
|
|
442 |
for exp in self.explainer_objs:
|
443 |
val = exp.explainer_name in DEFAULT_EXPLAINER
|
444 |
checkbox_group_info = self.update_check(checkbox_group_info, exp.default_exp_id, val)
|
445 |
+
if hasattr(exp, "optimal_exp_id"):
|
446 |
checkbox_group_info = self.update_check(checkbox_group_info, exp.optimal_exp_id, False)
|
447 |
return checkboxes + bttns + [checkbox_group_info]
|
448 |
|
|
|
504 |
return checkbox_group_info
|
505 |
|
506 |
def optimal_on_select(self, evt: gr.EventData, checkbox_group_info, opt_res):
|
507 |
+
if hasattr(self, "optimal_exp_id"):
|
508 |
+
checkbox_group_info = self.groups.update_check(checkbox_group_info, self.optimal_exp_id, evt._data['value'])
|
|
|
509 |
else:
|
510 |
raise ValueError("Optimal result is not found.")
|
511 |
return checkbox_group_info
|
|
|
558 |
return [opt_res, checkbox_group_info, checkbox, bttn]
|
559 |
|
560 |
def update_exp(exp_res):
|
561 |
+
_id = exp_res['id']
|
562 |
try:
|
563 |
kwargs = {}
|
564 |
has_baseline = False
|
|
|
604 |
|
605 |
kwargs['model'] = self.experiment.model
|
606 |
explainer = exp_res['class'](**kwargs)
|
|
|
607 |
except Exception as e:
|
608 |
# If the optimization is failed, use the default parameter explainer as optimal
|
609 |
explainer = self.experiment.manager._explainers[self.default_exp_id]
|
610 |
|
611 |
self.experiment.manager._explainers.append(explainer)
|
612 |
self.experiment.manager._explainer_ids.append(_id)
|
613 |
+
self.optimal_exp_id = _id
|
614 |
|
615 |
self.bttn.click(optimize, inputs=[self.groups.info], outputs=[self.opt_res, self.groups.info, self.opt_check, self.bttn], queue=True, concurrency_limit=1)
|
616 |
self.opt_res.change(update_exp, self.opt_res)
|