我目前正在使用以下库在Python as documented here中运行CMA-ES优化策略:
pip3 install cma
该库易于使用,并允许指定随机种子和特征形式。但是,它似乎在性能方面没有进行优化。
对于具有向量化numpy输入且人口众多(本次测试中为2048)的Rosenbrock测试函数,我们最终仅花费了0.5%的时间来评估该函数(如果包括转换返回的列表,则花费了1.5%放入一个np数组)。此外,对于更有意义(昂贵)的健身功能最相关的是,偶尔会出现“滞后尖峰”,其运行速度会慢约200倍,而无明显原因。
是否有可用的python3库使用高效的numpy或CMA-ES的本机实现?