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

Allow regular checkpointing #79

Closed
rhiever opened this issue Feb 8, 2016 · 8 comments
Closed

Allow regular checkpointing #79

rhiever opened this issue Feb 8, 2016 · 8 comments

Comments

@rhiever
Copy link
Contributor

rhiever commented Feb 8, 2016

As suggested in #2, allow TPOT to regularly checkpoint (say, every generation at most) and save its state over time. A checkpoint file would allow contain all of the information necessary for another TPOT instance to pick up where the last one left off:

  • All settings
  • The current population
  • The current hall of fame
@manugarri
Copy link

Is there any update on this? I would be willing to contribute (this seems like an easy implementation), if you gave me some pointer to where to look at in the code and the discussed approaches.

@rhiever
Copy link
Contributor Author

rhiever commented Nov 11, 2016

That's great, @manugarri! We haven't made any progress on this yet. At a high level, we would want to make it so the user can stop and restart TPOT at any point during the optimization process. This would mostly entail editing base.py in the fit() function to store the current state every generation of the optimization process.

@manugarri
Copy link

got it, basically here, isnt it? Il ltake a look :)

@rhiever
Copy link
Contributor Author

rhiever commented Nov 15, 2016

That bit of code is where we catch user interrupts and close TPOT gracefully. This checkpointing process would need to be inserted into the evolutionary algorithm itself.

I'd imagine we could do something similar to how we update TPOT's progress bar at the end of every generation. We can create a decorator over the selection function, which can checkpoint the current generation at the end of every optimization cycle.

@rhiever
Copy link
Contributor Author

rhiever commented Jun 21, 2017

Checkpointing of the best pipeline from every generation has been added to the dev branch and will be included in the next release.

@manugarri
Copy link

Neat! Looking forward to it

@saddy001
Copy link

It's been released. I think the ticket can be closed.

@weixuanfu
Copy link
Contributor

@saddy001 yep, thank you for finding it.

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

No branches or pull requests

4 participants