Variance Preserving
Variance Preserving diffusion model implementation.
This module implements the Variance Preserving diffusion model which is commonly used in diffusion-based generative models. It maintains a certain level of variance throughout the diffusion process.
VariancePreserving
¶
Bases: BaseDiffusion
Variance Preserving diffusion model implementation.
This class implements a diffusion model that preserves variance throughout the noise addition process. This approach is commonly used in various diffusion-based generative models.
Source code in image_gen\diffusion\vp.py
compute_loss(score, noise, t, *args, **kwargs)
¶
Compute loss between predicted score and actual noise.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
score
|
Tensor
|
The predicted noise tensor. |
required |
noise
|
Tensor
|
The actual noise tensor. |
required |
t
|
Tensor
|
Time steps tensor. |
required |
*args
|
Any
|
Additional positional arguments. |
()
|
**kwargs
|
Any
|
Additional keyword arguments. |
{}
|
Returns:
| Type | Description |
|---|---|
Tensor
|
A tensor representing the computed loss. |
Source code in image_gen\diffusion\vp.py
config()
¶
Get configuration parameters for the diffusion model.
Returns:
| Type | Description |
|---|---|
dict
|
A dictionary containing configuration parameters. |
forward_process(x0, t, *args, **kwargs)
¶
Apply the forward diffusion process.
Adds noise to the input according to the variance preserving schedule.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
x0
|
Tensor
|
The input tensor representing initial state. |
required |
t
|
Tensor
|
Time steps tensor. |
required |
*args
|
Any
|
Additional positional arguments. |
()
|
**kwargs
|
Any
|
Additional keyword arguments. |
{}
|
Returns:
| Type | Description |
|---|---|
Tuple[Tensor, Tensor]
|
A tuple of (noisy_sample, noise) tensors. |
Source code in image_gen\diffusion\vp.py
forward_sde(x, t, *args, **kwargs)
¶
Calculate drift and diffusion coefficients for forward SDE.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
x
|
Tensor
|
The input tensor representing current state. |
required |
t
|
Tensor
|
Time steps tensor. |
required |
*args
|
Any
|
Additional positional arguments. |
()
|
**kwargs
|
Any
|
Additional keyword arguments. |
{}
|
Returns:
| Type | Description |
|---|---|
Tuple[Tensor, Tensor]
|
A tuple of (drift, diffusion) tensors. |