models¶
models
¶
Model components: velocity-field backbone wrappers, projector heads, EMA.
TinyVelocityField
¶
Bases: BaseVelocityField
A tiny convolutional velocity field for tests and toy runs.
Not a real backbone - just enough capacity to keep unit tests
self-contained. For real training use WrappedBackbone around a
proper UNet / DiT implementation.
Source code in deltaflow/models/backbone.py
WrappedBackbone
¶
Bases: BaseVelocityField
Adapter that turns any nn.Module backbone into a velocity field.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
backbone
|
Module
|
the underlying network (UNet, DiT, ...). |
required |
forward_fn
|
Optional[Callable]
|
callable |
None
|
time_scale
|
float
|
multiplier applied to |
1.0
|
Source code in deltaflow/models/backbone.py
EMA
¶
Exponential moving average helper for a shadow copy of a model.
Usage::
ema = EMA(beta=0.995)
ema_model = copy.deepcopy(model).eval().requires_grad_(False)
# after every optimizer step:
ema.update_model_average(ema_model, model)
Source code in deltaflow/models/ema.py
MultiScaleProjector
¶
Bases: Module
Collection of per-level projection heads.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
feature_dims
|
Dict[str, int]
|
|
required |
hidden_dim
|
int
|
hidden width shared by every per-level projector. |
512
|
out_dim
|
int
|
shared output embedding dimension. |
256
|
layer_set
|
Sequence[str]
|
which layer names to project, defaults to
|
_DEFAULT_LAYER_SET
|
Source code in deltaflow/models/projector.py
pool_feature
staticmethod
¶
project_delta_h
¶
Compute delta_h = h_cond - h_uncond and project each level.
Returns a dict of (optionally L2-normalized) embeddings, one per
layer present in both feature dicts and in self.projectors.
Source code in deltaflow/models/projector.py
ProjectorHead
¶
Bases: Module
Two-layer MLP projector (in_dim -> hidden_dim -> out_dim, GELU).