final_prediction_layer
final_prediction_layer
¶
Final prediction layer for DiT with adaptive layer normalization modulation.
FinalPredictionLayer
¶
Bases: Module
Final layer that predicts noise (epsilon) with adaptive LN modulation.
Uses the standard DiT modulation: norm(x) * (1 + scale) + shift
Initialize the final prediction layer of the transformer.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
hidden_dimension
|
int
|
Input hidden dimension. |
required |
output_dimension
|
int
|
Output dimension. |
required |
activation
|
str
|
Activation function for the AdaNorm modulation network. |
value
|
Source code in src/versatil/models/layers/diffusion_transformer/final_prediction_layer.py
forward
¶
Predict the output with adaptive modulation.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
hidden_states
|
Tensor
|
Input tensor (batch_size (B), sequence_length (S), hidden_dimension (D)). |
required |
conditioning_embedding
|
Tensor
|
Combined timestep + encoder conditioning (batch_size, hidden_dimension). |
required |
Returns:
| Type | Description |
|---|---|
Tensor
|
Predicted tensor (batch_size, sequence_length, output_dim). |
Source code in src/versatil/models/layers/diffusion_transformer/final_prediction_layer.py
reset_parameters
¶
Reset parameters to zeros (DiT initialization).