Closed jwong-nd closed 1 month ago
Some updates to the proposed curriculum/abstract-Trainer based on recent discussion. This is the simplest 'policy' implementation I can think of that does not introduce a whole matrix of stages. Work in progress, serialization to be added.
This Update (commit a5bc1d2):
Floating Nodes: Updates Stage and Curriculum API’s with ‘add_policy’/‘remove_policy’ and ‘add_stage’/‘remove_stage’ methods respectively to handle floating policies and floating stages. This is a more natural interface for adding/removing a single node over optional rule/end-node arguments in ‘add_transition/remove_transition’. Remove_transition is augmented with the ability to remove start or end nodes along with Rule removal.
Improved Rule Initialization: Rules (Policy, StageTransition, Policy Transition) are defined by passing in a callable instead of overriding call. The signature of the input callable is checked on Policy/StageTransition/PolicyTransition initialization with Pydantic validation. The updated rule definition serializes properly as before.
Trainer Test Suite: Trainer passes a minimal test suite of core functionality. This can be added upon.
Other minor changes:
Initial ideas on curriculum