-
Notifications
You must be signed in to change notification settings - Fork 5
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
feature(controller): 4 - put together the components for the upgraded AER Controller #305
feature(controller): 4 - put together the components for the upgraded AER Controller #305
Conversation
... c.data.theories[-2].coef_.item()) > 1e-3, | ||
... cycle | ||
... ) | ||
... ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is neat!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this looks fantastic. Especially the ability to define your own planner and introduce contingencies about which experimentalist/theorist to use dependent on the history object.
The examples in the init are really well documented and this makes we wonder whether we could supply a python notebook here that we could easily integrate in the documentation (or on Google Collab)? I think this would help users a lot. We could literally use the init.py examples as the notebook. What do you think?
|
||
However, if we seed the same cycle with observations, then its first Executor will be the | ||
theorist: | ||
>>> controller_with_seed_observation = Controller( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Love it!
Yes, we totally should. I'm not yet sure the best way to do that and integrate the notebook with the documentation though. |
this is too big. Closing for now, will move this to a separate repo. Thanks for the feedback! |
Description
Create new
Controller
s which supersede theSimpleCycle
.This is part of the solution to:
This builds on:
feature(controller): 1 - add controller state objects for snapshots and history #299
feature(controller): 2 - add planner functions to select the next step for the controller #303
feature(controller): 3 - add "executor collections" to wrap the sklearn-theorists, experimentalist pipelines and experiment runners #304
resolves feat: improve seeding interface for Cycle #233
Todos:
__init__.py
into a notebook and include in documentation. Can we still use it as doctests?Type of change:
Features:
BaseController
(base.py
)Handles shared logic (how to get the next step in the cycle, for instance) for all the controller classes
Cycle
, derived from theBaseController
(cycle.py
)Has the same interface as the
SimpleCycle
but uses theSnapshot
state from feature(controller): 1 - add controller state objects for snapshots and history #299, thefull_cycle_planner
from feature(controller): 2 - add planner functions to select the next step for the controller #303, and thedefault_online_executor_collection
from feature(controller): 3 - add "executor collections" to wrap the sklearn-theorists, experimentalist pipelines and experiment runners #304Controller
, derived from theBaseController
(controller.py
),Offers easier seeding and a history function than the
Cycle
, and the ability to choose a differentplanner
function. It uses theHitory
state from feature(controller): 1 - add controller state objects for snapshots and history #299, thelast_result_kind_planner
(as a default) from feature(controller): 2 - add planner functions to select the next step for the controller #303, and thedefault_online_executor_collection
from feature(controller): 3 - add "executor collections" to wrap the sklearn-theorists, experimentalist pipelines and experiment runners #304.Resolves feat: improve seeding interface for Cycle #233
__init__.py
):Cycle
,Controller
andBaseController