高级用法¶
掌握低级 API 以实现最大控制和自定义。
概述¶
这些高级教程涵盖:
- 低级 API - 直接控制算法和配置
- 算法配置 - 微调进化参数
- 算法内部 - 访问和分析内部状态
- 调试和性能分析 - 故障排除和性能优化
前置条件¶
教程¶
目前,所有高级教程内容都整合在一个完整的教程文档中:
该教程涵盖以下主题:
1. 低级 API¶
了解高级和低级 API 之间的区别,以及何时使用它们。
- 高级 vs 低级 API 对比
- 直接实例化算法
- 访问内部状态
- 自定义工作流控制
2. 算法配置¶
掌握每个进化算法的详细配置选项。
- EvoEngineer 配置参数
- FunSearch 岛屿模型设置
- EoH 算子控制
- 并行执行调优
3. 算法内部¶
访问和分析进化算法的内部状态。
- 检查进化历史
- 访问解种群
- 绘制进化进程
- 提取指标和统计数据
4. 调试和性能分析¶
调试问题并优化进化工作流的性能。
- 启用详细日志
- 保存中间解
- 检查 LLM 提示/响应
- 时间和内存分析
- 实现自定义算法
何时使用高级功能¶
使用低级 API 的时机:¶
- 需要对进化过程进行细粒度控制
- 默认配置不满足需求
- 想要实现自定义停止准则
- 需要访问中间结果
使用自定义配置的时机:¶
- 默认参数对您的任务效果不佳
- 想要优化速度或质量
- 需要调整并行执行
- 正在尝试算法变体
使用调试工具的时机:¶
- 进化没有按预期收敛
- 想要理解算法行为
- 需要优化资源使用
- 正在开发自定义算法
快速参考¶
基础低级模式¶
from evotoolkit.evo_method.evoengineer import EvoEngineer, EvoEngineerConfig
config = EvoEngineerConfig(
interface=interface,
output_path='./results',
running_llm=llm_api,
max_generations=10,
pop_size=8,
verbose=True
)
algorithm = EvoEngineer(config)
algorithm.run()
# 访问结果
best = algorithm._get_best_sol(algorithm.run_state_dict.sol_history)
下一步¶
掌握高级用法后: