phase_act
phase_act
¶
Phase-conditioned ACT decoder with MoE routing.
Extends the base ACT architecture to support phase-based expert routing. The phase classifier head produces routing logits that are used to route position and gripper predictions through phase-specific expert networks.
PhaseACT
¶
PhaseACT(input_keys, action_space, action_heads, observation_space, observation_horizon, prediction_horizon, device, embedding_dimension=256, number_of_heads=8, feedforward_dimension=512, number_of_encoder_layers=6, number_of_decoder_layers=6, activation='relu', dropout_rate=0.1, normalize_before=False, phase_routing_key=value)
Bases: ACT
Phase-conditioned Action Chunking Transformer.
This decoder extends ACT with phase-based expert routing. It expects: - A phase classifier head (output key: 'phase_label') - MoE action heads that use phase predictions for routing
During forward pass
- Phase classifier predicts phase logits/probabilities
- MoE action heads use phase logits as routing weights
- Each expert specializes in one surgical phase
Initialize PhaseACT decoder.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_keys
|
list[str]
|
List of feature keys expected from encoder pipeline. |
required |
action_space
|
ActionSpace
|
Action space configuration. |
required |
action_heads
|
dict[str, ActionHead]
|
Dictionary of action head modules. |
required |
observation_space
|
ObservationSpace
|
Observation space configuration. |
required |
observation_horizon
|
int
|
Number of observation timesteps. |
required |
prediction_horizon
|
int
|
Number of actions to predict. |
required |
device
|
str
|
Device to run the model on. |
required |
embedding_dimension
|
int
|
Transformer hidden dimension. |
256
|
number_of_heads
|
int
|
Number of attention heads. |
8
|
feedforward_dimension
|
int
|
Feedforward network dimension. |
512
|
number_of_encoder_layers
|
int
|
Number of transformer encoder layers. |
6
|
number_of_decoder_layers
|
int
|
Number of transformer decoder layers. |
6
|
activation
|
str
|
Activation function name. |
'relu'
|
dropout_rate
|
float
|
Dropout probability. |
0.1
|
normalize_before
|
bool
|
Use pre-normalization. |
False
|
phase_routing_key
|
str
|
Key for the phase classifier head that provides routing weights. |
value
|
Source code in src/versatil/models/decoding/decoders/factory/phase_act.py
get_callbacks
¶
Provide confusion matrix callback for phase classification monitoring.