我现在使用一台16核的服务器回测优化参数,如果参数有10000组的话,要优化很长时间,所以想使用遗传算法优化,但是发现vnpy里只支持单进程的遗传算法优化,这样总时间和使用多核服务器的暴力穷举在时间上差不了多少,所以想咨询一下如何使用多进程遗传算法来优化参数?
我现在使用一台16核的服务器回测优化参数,如果参数有10000组的话,要优化很长时间,所以想使用遗传算法优化,但是发现vnpy里只支持单进程的遗传算法优化,这样总时间和使用多核服务器的暴力穷举在时间上差不了多少,所以想咨询一下如何使用多进程遗传算法来优化参数?
你可以参考我的当时写的一个文章,实现了多线程遗传算法,不过是针对1.92的
http://blog.itpub.net/22259926/viewspace-2640851/
看了下代码,只要3.7版本应该只要直接在 app/data_recorder/engine.py中
在toolbox维护下面加入下面多线程吗map就可以。手边没有配2.0环境,你可以直接测试试试
pool = multiprocessing.Pool(processes=(multiprocessing.cpu_count()))
toolbox.register("map", pool.map)
张国平 wrote:
你可以参考我的当时写的一个文章,实现了多线程遗传算法,不过是针对1.92的
http://blog.itpub.net/22259926/viewspace-2640851/
感谢,我学习一下
请问最后搞定了吗?我试了下貌似不行
简单加map是不行,我测过了。我想到方法是修改deap的进化方法;不过不是很合适
等待楼主的好对策