Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Evaluating individuals after deadline #190

Open
leightonvg opened this issue Feb 28, 2023 · 2 comments
Open

Evaluating individuals after deadline #190

leightonvg opened this issue Feb 28, 2023 · 2 comments

Comments

@leightonvg
Copy link

I was running GAMA multiple times and sometimes it happens that the search phase does not end within the max_total_time. I have to interrupt GAMA to stop the search. The logs show the following behavior:
image
image

I notice that the errors are raised in gama.genetic_programming.operator_set. I suppose that within Gama._search_phase() it happens that gama.genetic_programming.compilers.scikitlearn.evaluate_individual is called beyond the deadline.
image
Causing timeout issues in gama.genetic_programming.compilers.scikitlearn.evaluate_individual because the timeout is negative.
image

I am not sure whether this is the cause of the errors and the non-stopping search space execution, and why it happens exactly. But do note that in the logs the timeout values are negative, and seem to correspond to when I would have expected the deadline based on a 120 second run. Therefore I believe sometimes individuals are evaluated after the deadline, causing GAMA to go on and eventually crash with memory issues.

@leightonvg leightonvg changed the title Evaluating individuals after deadline? Evaluating individuals after deadline Feb 28, 2023
@PGijsbers
Copy link
Member

Thanks for the report! I was under the impression that this issue had been resolved.
The error is originally raised here.My memory is a bit fuzzy on this, but I think the deadline was a workaround because sometimes the stopit module would not stop runtime evaluation in time, so I added a thin layer of manual checks (the deadline stuff). Ideally I'd like to fix the core issue by either using a different module to accomplish the same thing as stopit in a more reliable manner, or figure out why stopit wasn't reliable in the first place. But a quick fix to the deadline logic to patch things over would also be OK for now. I am a bit busy right now, but if that sounds like something you'd like to work on I am open to PRs :)

@simonprovost
Copy link

@leightonvg Any advancements in this direction?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants