chanycha commited on
Commit
3c7e0b9
1 Parent(s): 5580778
Files changed (1) hide show
  1. app.py +32 -1
app.py CHANGED
@@ -539,7 +539,38 @@ class ExplainerCheckbox(Component):
539
  self.opt_check.select(self.optimal_on_select)
540
 
541
  self.bttn = gr.Button(value="Optimize", size="sm", variant="primary")
542
- self.bttn.click(self.optimize, outputs=[self.opt_check, self.bttn], queue=True, concurrency_limit=1)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
543
 
544
 
545
  class ExpRes(Component):
 
539
  self.opt_check.select(self.optimal_on_select)
540
 
541
  self.bttn = gr.Button(value="Optimize", size="sm", variant="primary")
542
+
543
+ @spaces.GPU
544
+ def optimize():
545
+ data_id = self.gallery.selected_index
546
+
547
+ opt_output = self.experiment.optimize(
548
+ data_ids=data_id.value,
549
+ explainer_id=self.default_exp_id,
550
+ metric_id=self.obj_metric,
551
+ direction='maximize',
552
+ sampler=SAMPLE_METHOD,
553
+ n_trials=OPT_N_TRIALS,
554
+ )
555
+
556
+ str_id = self.get_str_ppid(opt_output.postprocessor)
557
+ for pp_obj, pp_id in zip(*self.experiment.manager.get_postprocessors()):
558
+ if self.get_str_ppid(pp_obj) == str_id:
559
+ opt_postprocessor_id = pp_id
560
+ break
561
+
562
+ opt_explainer_id = max([x['id'] for x in self.groups.info]) + 1
563
+ opt_output.explainer.model = self.experiment.model
564
+ self.experiment.manager._explainers.append(opt_output.explainer)
565
+ self.experiment.manager._explainer_ids.append(opt_explainer_id)
566
+ self.groups.insert_check(self.explainer_name, opt_explainer_id, opt_postprocessor_id)
567
+ self.optimal_exp_id = opt_explainer_id
568
+ checkbox = gr.update(label="Optimized Parameter (Optimal)", interactive=True)
569
+ bttn = gr.update(value="Optimized", variant="secondary")
570
+
571
+ return [checkbox, bttn]
572
+
573
+ self.bttn.click(optimize, outputs=[self.opt_check, self.bttn], queue=True, concurrency_limit=1)
574
 
575
 
576
  class ExpRes(Component):