credit.models.crossformer_diffusion#

Attributes#

Classes#

ModelPrediction

CrossFormerDiffusion

Base class for all neural network modules.

ModifiedGaussianDiffusion

Functions#

exists(x)

default(val, d)

normalize_to_neg_one_to_one(img)

extract(a, t, x_shape)

identity(t, *args, **kwargs)

create_model(config)

Initialize and return the CrossFormer model using a config dictionary.

create_diffusion(model, config)

Initialize and return the Gaussian Diffusion process.

Module Contents#

credit.models.crossformer_diffusion.exists(x)#
credit.models.crossformer_diffusion.default(val, d)#
credit.models.crossformer_diffusion.normalize_to_neg_one_to_one(img)#
credit.models.crossformer_diffusion.extract(a, t, x_shape)#
credit.models.crossformer_diffusion.identity(t, *args, **kwargs)#
class credit.models.crossformer_diffusion.ModelPrediction#

Bases: tuple

pred_noise#
pred_x_start#
class credit.models.crossformer_diffusion.CrossFormerDiffusion(self_condition, *args, **kwargs)#

Bases: credit.models.crossformer.CrossFormer

Base class for all neural network modules.

Your models should also subclass this class.

Modules can also contain other Modules, allowing them to be nested in a tree structure. You can assign the submodules as regular attributes:

import torch.nn as nn
import torch.nn.functional as F

class Model(nn.Module):
    def __init__(self) -> None:
        super().__init__()
        self.conv1 = nn.Conv2d(1, 20, 5)
        self.conv2 = nn.Conv2d(20, 20, 5)

    def forward(self, x):
        x = F.relu(self.conv1(x))
        return F.relu(self.conv2(x))

Submodules assigned in this way will be registered, and will also have their parameters converted when you call to(), etc.

Note

As per the example above, an __init__() call to the parent class must be made before assignment on the child.

Variables:

training (bool) – Boolean represents whether this module is in training or evaluation mode.

dim#
self_condition#
time_mlp#
forward(x, timestep, x_self_cond=False)#
class credit.models.crossformer_diffusion.ModifiedGaussianDiffusion(*args, **kwargs)#

Bases: denoising_diffusion_pytorch.GaussianDiffusion

channels#
history_len#
forward(img, *args, **kwargs)#
p_losses(x_start, t, noise=None, offset_noise_strength=None)#
model_predictions(x, t, x_self_cond=None, clip_x_start=False, rederive_pred_noise=False)#
p_mean_variance(x, t, x_self_cond=None, clip_denoised=True)#
p_sample(x, t: int, x_self_cond=None)#
p_sample_loop(shape, return_all_timesteps=False)#
sample(batch_size=16, return_all_timesteps=False)#
credit.models.crossformer_diffusion.create_model(config)#

Initialize and return the CrossFormer model using a config dictionary.

credit.models.crossformer_diffusion.create_diffusion(model, config)#

Initialize and return the Gaussian Diffusion process.

credit.models.crossformer_diffusion.crossformer_config#