You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is half an issue and half a question. Currently, when using distributed evaluation an Individual is passed to the executor to be evaluated. Due to pickling / unpickling, that leads to everything about the individual being deepcopyed which makes shared objects a no-go at the Individual level. Should this be fixed? The potential for adaptive fitness I mentioned in #279 is hampered by this, but that isn't a current feature of LEAP.
The text was updated successfully, but these errors were encountered:
The basic problem is that ops such as synchronous.eval_population() call client.map() on the population of Individual objects, mapping distrib.evaluate.evaluate() over them. This causes all Individuals to be sent out to the workers.
distrib.evaluate.evaluate() calls Individual.evaluate() and assigns some book-keeping attributes to each Individual.
To avoid memory hoggage it would be better if we could somehow pass phenotype, Problem tuples or such into the distributed function instead of whole Individual objects.
We aren't sure how to do that elegantly and flexibly, however... so we are going to procrastinate on this issue until it is actually a problem for an application.
This is half an issue and half a question. Currently, when using distributed evaluation an
Individual
is passed to the executor to be evaluated. Due to pickling / unpickling, that leads to everything about the individual beingdeepcopy
ed which makes shared objects a no-go at theIndividual
level. Should this be fixed? The potential for adaptive fitness I mentioned in #279 is hampered by this, but that isn't a current feature of LEAP.The text was updated successfully, but these errors were encountered: