AggregateStep¶
A modifier for the step node that is wired into it which accumulates k successive gradient evaluations and passes them to the optimizer for use in one summed (or averaged) update.
This can be used for things like multi-task learning (if the k successive gradients stem from multiple tasks that are visited round-robin), or for varying the batch size over the course of training (since k can be controlled by a schedule), or for simulating large-batch training with batch sizes that otherwise would not fit in memory. Note this is not simply chained after another step using the ChainedStep node, but rather it is a modifier of the step node that is wired into it. Version 0.2.0
Ports/Properties¶
gradients¶
Gradients to be transformed.
- verbose name: Gradients
- default value: None
- port type: DataPort
- value type: object (can be None)
- data direction: INOUT
weights¶
Optional current weights.
- verbose name: Weights
- default value: None
- port type: DataPort
- value type: object (can be None)
- data direction: IN
state¶
Explicit state of the node.
- verbose name: State
- default value: None
- port type: DataPort
- value type: object (can be None)
- data direction: INOUT
modify_step¶
Step to modify.
- verbose name: Modify Step
- default value: None
- port type: DataPort
- value type: BaseNode (can be None)
- data direction: IN
num_ministeps_schedule¶
Optional schedule for the k parameter.
- verbose name: Num Ministeps Schedule
- default value: None
- port type: DataPort
- value type: BaseNode (can be None)
- data direction: IN
num_ministeps¶
Number of successive updates to accumulate. If not provided, a schedule must be wired in. This is the k parameter in the documentation.
- verbose name: Num Ministeps
- default value: None
- port type: IntPort
- value type: int (can be None)
reduction¶
Whether to sum or mean the updates.
- verbose name: Reduction Operation
- default value: sum
- port type: EnumPort
- value type: str (can be None)
skip_ministep_if¶
Optional criteria under which to skip mini-steps as if they did not happen. Note that using this on multi-task problems may cause the stepping to go out of sync between tasks.
- verbose name: Skip Mini-Step If
- default value: never
- port type: ComboPort
- value type: str (can be None)
set_breakpoint¶
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.
- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
metadata¶
User-definable meta-data associated with the node. Usually reserved for technical purposes.
- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)