Spaces:
Build error
Build error
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)
|