nnaisense/evotorch
Advanced evolutionary computation library built directly on top of PyTorch, created at NNAISENSE.
解决的问题
EvoTorch 旨在解决可能不可微分的优化问题,即无法使用传统梯度下降法求解的问题。这包括黑箱优化(连续和离散)、强化学习任务以及监督学习任务。
工作原理
该库基于 PyTorch 构建,实现了多种进化计算算法。它利用 PyTorch 的向量化和并行化能力,加速 GPU 上的优化过程。对于更大规模的工作负载,它与 Ray 集成,可在多个 CPU、GPU 和整个集群上分布计算任务。
适用人群
适用于需要可扩展、GPU 加速的进化算法框架的研究人员和开发者,特别是在优化、神经进化和强化学习领域工作的人群。
主要亮点
- 多样化的算法套件:包含基于分布的搜索(PGPE、XNES、CMA-ES、SNES、CEM)和基于种群的搜索(遗传算法、CoSyNE、MAP-Elites)。
- GPU 加速:原生 PyTorch 实现支持在 GPU 上进行高速向量化操作。
- 可扩展性:与 Ray 集成,可跨多台机器和硬件加速器进行扩展。
- 灵活的目标函数:支持在 PyTorch 中定义的任意目标函数,无论是否向量化。
相关
- 项目
- 项目
- 项目
- 项目
- 项目