Repository navigation
v0.15.0
- Execution stages are class-attribute only (breaking).
Node.__init__no longer takes
execution_stages=: the stages a node runs in are exactly its class'sEXECUTION_STAGES.
Gone with it are the per-instance state, theexecution_stagessetter and the
EXECUTION_STAGES_MUTABLEopt-in (node.execution_stagesis a read-only property returning
the class declaration; assigning to it raisesAttributeError), andNode.consume_base_kwargs
(pass**kwargsstraight tosuper().__init__). A pipeline yaml may still carry the inert
hparams: {execution_stages: null}that earlier releases wrote; it is accepted and dropped.
Any other value (execution_stages: [inference]) fails at load with aTypeErrornaming the
node: picking a different class is the only way to change a node's stages, so running the
TensorBoard monitor at inference is no longer a yaml opt-in (Predictor.predict(stage= ExecutionStage.TEST)runs the val/test nodes over a dataset instead). Plugins that already
declare their stages on the class (adaclip 0.3.2, dinomaly 0.6.4, inspecscrap 0.3.0,
unet 0.3.0, augment 0.4.3) need no change; a subclass that still namesexecution_stages
in its own__init__signature must drop it.
What's Changed
- Make execution stages class-attribute only (0.15.0) by @nghorbani in #71
Full Changelog: v0.14.1...v0.15.0