evox.workflows.eval_monitor#

模块内容#

#

EvalMonitor

评估监控器被用于单目标和多目标工作流。它与评估流程挂钩,可以监控子代及其相应的适应度并对评估计数进行跟踪。此外,它还能即时记录最优解或帕累托前沿。

API#

class evox.workflows.eval_monitor.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)[源代码]#

Bases: evox.core.Monitor

评估监控器被用于单目标和多目标工作流。它与评估流程挂钩,可以监控子代及其相应的适应度并对评估计数进行跟踪。此外,它还能即时记录最优解或帕累托前沿。

初始化

初始化监视器。

参数:
  • multi_obj -- 是否为多目标优化。默认值为 False。

  • full_fit_history -- 是否记录适应度值的完整历史。默认为True。将其设置为FALSE可能会减少内存使用。

  • full_sol_history -- 是否记录完整的解的历史。默认为 False。将其设置为 True 可能会增加内存使用量。

  • topk -- 只影响单目标优化。要记录的精英解决方案的数量。默认为 1,将记录最佳个人。

  • device -- 监视器的设备。默认值为 None。

fitness_history: List[torch.Tensor]#

没有可翻译的文本。

solution_history: List[torch.Tensor]#

没有可翻译的文本。

auxiliary: List[Dict[str, torch.Tensor]]#

没有可翻译的文本。

set_config(**config)[源代码]#
record_auxiliary(aux: Dict[str, torch.Tensor])[源代码]#
post_ask(candidate_solution: torch.Tensor)[源代码]#
pre_tell(fitness: torch.Tensor)[源代码]#
get_latest_fitness() torch.Tensor[源代码]#

从最新迭代中获取适应度值。

get_latest_solution() torch.Tensor[源代码]#

从最新的迭代中获取解决方案。

get_topk_fitness() torch.Tensor[源代码]#

获取当前前k个适应度值。

get_topk_solutions() torch.Tensor[源代码]#

获取当前最优的前k个解。

get_best_solution() torch.Tensor[源代码]#

获取迄今为止的最佳解决方案。

get_best_fitness() torch.Tensor[源代码]#

获取当前最佳适应度值。

get_fitness_history() List[torch.Tensor][源代码]#

获取适应度值的完整历史记录。

get_solution_history() List[torch.Tensor][源代码]#

获取完整的解决方案历史。

plot(problem_pf=None, **kwargs)[源代码]#