# {py:mod}`evox.workflows.eval_monitor` ```{py:module} evox.workflows.eval_monitor ``` ```{autodoc2-docstring} evox.workflows.eval_monitor :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`EvalMonitor ` - ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor :summary: ``` ```` ### API `````{py:class} EvalMonitor(multi_obj: bool = False, full_fit_history: bool = True, full_sol_history: bool = False, full_pop_history: bool = False, topk: int = 1, device: torch.device | None = None, history_device: torch.device | None = None) :canonical: evox.workflows.eval_monitor.EvalMonitor Bases: {py:obj}`evox.core.Monitor` ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor.__init__ ``` ````{py:property} fitness_history :canonical: evox.workflows.eval_monitor.EvalMonitor.fitness_history :type: typing.List[torch.Tensor] ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor.fitness_history ``` ```` ````{py:property} fit_history :canonical: evox.workflows.eval_monitor.EvalMonitor.fit_history :type: typing.List[torch.Tensor] ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor.fit_history ``` ```` ````{py:property} solution_history :canonical: evox.workflows.eval_monitor.EvalMonitor.solution_history :type: typing.List[torch.Tensor] ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor.solution_history ``` ```` ````{py:property} sol_history :canonical: evox.workflows.eval_monitor.EvalMonitor.sol_history :type: typing.List[torch.Tensor] ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor.sol_history ``` ```` ````{py:property} aux_history :canonical: evox.workflows.eval_monitor.EvalMonitor.aux_history :type: typing.Dict[str, typing.List[torch.Tensor]] ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor.aux_history ``` ```` ````{py:property} auxiliary_history :canonical: evox.workflows.eval_monitor.EvalMonitor.auxiliary_history :type: typing.Dict[str, typing.List[torch.Tensor]] ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor.auxiliary_history ``` ```` ````{py:method} set_config(**config) :canonical: evox.workflows.eval_monitor.EvalMonitor.set_config ```` ````{py:method} record_auxiliary(aux: typing.Dict[str, torch.Tensor]) :canonical: evox.workflows.eval_monitor.EvalMonitor.record_auxiliary ```` ````{py:method} post_ask(candidate_solution: torch.Tensor) :canonical: evox.workflows.eval_monitor.EvalMonitor.post_ask ```` ````{py:method} pre_tell(fitness: torch.Tensor) :canonical: evox.workflows.eval_monitor.EvalMonitor.pre_tell ```` ````{py:method} record_history() :canonical: evox.workflows.eval_monitor.EvalMonitor.record_history ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor.record_history ``` ```` ````{py:method} get_latest_fitness() -> torch.Tensor :canonical: evox.workflows.eval_monitor.EvalMonitor.get_latest_fitness ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor.get_latest_fitness ``` ```` ````{py:method} get_latest_solution() -> torch.Tensor :canonical: evox.workflows.eval_monitor.EvalMonitor.get_latest_solution ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor.get_latest_solution ``` ```` ````{py:method} get_topk_fitness() -> torch.Tensor :canonical: evox.workflows.eval_monitor.EvalMonitor.get_topk_fitness ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor.get_topk_fitness ``` ```` ````{py:method} get_topk_solutions() -> torch.Tensor :canonical: evox.workflows.eval_monitor.EvalMonitor.get_topk_solutions ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor.get_topk_solutions ``` ```` ````{py:method} get_best_solution() -> torch.Tensor :canonical: evox.workflows.eval_monitor.EvalMonitor.get_best_solution ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor.get_best_solution ``` ```` ````{py:method} get_best_fitness() -> torch.Tensor :canonical: evox.workflows.eval_monitor.EvalMonitor.get_best_fitness ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor.get_best_fitness ``` ```` ````{py:method} get_pf_fitness(deduplicate=True) -> torch.Tensor :canonical: evox.workflows.eval_monitor.EvalMonitor.get_pf_fitness ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor.get_pf_fitness ``` ```` ````{py:method} get_pf_solutions(deduplicate=True) -> torch.Tensor :canonical: evox.workflows.eval_monitor.EvalMonitor.get_pf_solutions ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor.get_pf_solutions ``` ```` ````{py:method} get_pf(deduplicate=True) -> typing.Tuple[torch.Tensor, torch.Tensor] :canonical: evox.workflows.eval_monitor.EvalMonitor.get_pf ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor.get_pf ``` ```` ````{py:method} get_fitness_history() -> typing.List[torch.Tensor] :canonical: evox.workflows.eval_monitor.EvalMonitor.get_fitness_history ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor.get_fitness_history ``` ```` ````{py:method} get_solution_history() -> typing.List[torch.Tensor] :canonical: evox.workflows.eval_monitor.EvalMonitor.get_solution_history ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor.get_solution_history ``` ```` ````{py:method} plot(problem_pf=None, source='eval', **kwargs) :canonical: evox.workflows.eval_monitor.EvalMonitor.plot ```{autodoc2-docstring} evox.workflows.eval_monitor.EvalMonitor.plot ``` ```` `````