SVI¶
Stochastic variational inference algorithms.
svi
¶
Stochastic Variational Inference (SVI) training loop.
SVI optimizes the ELBO by taking gradient steps on the guide and
model parameters. Each call to step performs one optimization
step and returns the loss value.
SVI
¶
SVI(model: MonadicProgram, guide: Guide, optim: Optimizer, loss: ELBO)
Stochastic Variational Inference optimizer.
| PARAMETER | DESCRIPTION |
|---|---|
model
|
The generative model.
TYPE:
|
guide
|
The variational guide.
TYPE:
|
optim
|
Optimizer for both model and guide parameters.
TYPE:
|
loss
|
The ELBO loss module.
TYPE:
|
Source code in src/quivers/inference/svi.py
32 33 34 35 36 37 38 39 40 41 42 | |
step
¶
step(x: Tensor, observations: dict[str, Tensor]) -> float
Perform a single SVI optimization step.
| PARAMETER | DESCRIPTION |
|---|---|
x
|
Program input. Shape (batch, ...).
TYPE:
|
observations
|
Observed variable values.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
float
|
The loss value for this step. |
Source code in src/quivers/inference/svi.py
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | |