Вопрос довольно простой и, возможно, глупый, но здесь мы идем:
как здесь (https://esa.github.io/pagmo2/docs/python/algorithms/py_algorithms.html)
если вы эволюционируете одну популяцию, вы можете получить журнал вашего algo.evolve () вызовите следующим образом:
from pygmo import *
algo = algorithm(de1220(gen = 500))
algo.set_verbosity(100)
prob = problem(rosenbrock(10))
pop = population(prob, 20)
pop = algo.evolve(pop)
uda = algo.extract(de1220)
uda.get_log()
[(1, 20, 285652.7928977573, 0.551350234239449, 0.4415510963067054, 16, 43.97185788345982, 2023791.5123259544), ...
Если вы используете силу Pygmo для распараллеливания эволюции, используя архипелаг, вы сделаете что-то вроде:
archi = archipelago(n = 8, algo = algo, prob = rosenbrock(5), pop_size = 10, seed = 32)
archi.evolve()
Однако на архипелаге нет выдержки() метод (как это делают алгоритмы), ни get_algorithm (), ни один (как это делают островки), ни что-либо еще достаточно очевидное в документации (по крайней мере для меня), которое сделало бы эту работу ...
archi.extract(de1220)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'archipelago' object has no attribute 'extract'
archi.get_algorithm()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'archipelago' object has no attribute 'get_algorithm'
Итак, как мне получить вывод algo.set_verbosity(100)
в файл, а не только на стандартный вывод?
И, как только здесь, есть способ организовать его по островам, а не чередовать, как это напечатанона стандартный вывод?
(я получаю, что во время работы каждый остров печатает отчет при достижении триггера подачи, но если все сохранено, его можно отсортировать)
Спасибо!