graph LR
Generative_Models_Suite["Generative Models Suite"]
labml_nn_diffusion_ddpm["labml_nn.diffusion.ddpm"]
labml_nn_diffusion_stable_diffusion["labml_nn.diffusion.stable_diffusion"]
labml_nn_gan_cycle_gan["labml_nn.gan.cycle_gan"]
labml_nn_gan_original["labml_nn.gan.original"]
labml_nn_gan_stylegan["labml_nn.gan.stylegan"]
labml_nn_sketch_rnn["labml_nn.sketch_rnn"]
Generative_Models_Suite -- "aggregates" --> labml_nn_diffusion_ddpm
Generative_Models_Suite -- "aggregates" --> labml_nn_diffusion_stable_diffusion
Generative_Models_Suite -- "aggregates" --> labml_nn_gan_cycle_gan
Generative_Models_Suite -- "aggregates" --> labml_nn_gan_original
Generative_Models_Suite -- "aggregates" --> labml_nn_gan_stylegan
Generative_Models_Suite -- "aggregates" --> labml_nn_sketch_rnn
click Generative_Models_Suite href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/annotated_deep_learning_paper_implementations/Generative_Models_Suite.md" "Details"
The labml_nn project's generative models subsystem is structured around a Generative Models Suite acting as a conceptual umbrella for various advanced generative architectures. This suite encompasses distinct implementations such as labml_nn.diffusion.ddpm for Denoising Diffusion Probabilistic Models, labml_nn.diffusion.stable_diffusion for latent diffusion, labml_nn.gan.cycle_gan for unpaired image-to-image translation, labml_nn.gan.original for foundational GAN concepts, labml_nn.gan.stylegan for high-resolution image generation, and labml_nn.sketch_rnn for vector-based sketch generation. Each component within this suite is self-contained, providing specific model architectures, training loops, and utility functions tailored to its generative task. The primary interaction pathway involves data flow from datasets into the respective model components for training and inference, with models generating outputs that are then evaluated or sampled.
Generative Models Suite [Expand]
Acts as a high-level logical container and entry point for various generative model implementations. It provides a unified conceptual view of the project's generative capabilities. This is an abstract component and does not have a direct source code reference.
Related Classes/Methods: None
Implements Denoising Diffusion Probabilistic Models, managing forward/reverse diffusion, noise prediction, training loss, dataset loading, and evaluation.
Related Classes/Methods:
Implements the latent diffusion model for various image generation tasks (text-to-image, image-to-image, in-painting), integrating a UNet, Autoencoder, and attention mechanisms.
Related Classes/Methods:
labml_nn.diffusion.stable_diffusion.scriptslabml_nn.diffusion.stable_diffusion.model.unetlabml_nn.diffusion.stable_diffusion.model.autoencoderlabml_nn.diffusion.stable_diffusion.model.unet_attentionlabml_nn.diffusion.stable_diffusion.sampler.ddpmlabml_nn.diffusion.stable_diffusion.sampler.ddim
Implements unpaired image-to-image translation using adversarial training with cycle consistency, managing generators, discriminators, and a replay buffer.
Related Classes/Methods:
labml_nn.gan.cycle_ganlabml_nn.gan.cycle_gan.generator_resnetlabml_nn.gan.cycle_gan.discriminatorlabml_nn.gan.cycle_gan.image_datasetlabml_nn.gan.cycle_gan.replay_bufferlabml_nn.gan.cycle_gan.sample_images
Provides a fundamental GAN implementation, focusing on the adversarial training loop between a generator and a discriminator.
Related Classes/Methods:
labml_nn.gan.original.experimentlabml_nn.gan.original.calc_generator_losslabml_nn.gan.original.calc_discriminator_loss
Implements the StyleGAN architecture for high-resolution image generation, incorporating style modulation and progressive growth.
Related Classes/Methods:
labml_nn.gan.stylegan.experimentlabml_nn.gan.stylegan.generate_imageslabml_nn.gan.stylegan.equalized_linearlabml_nn.gan.stylegan.style_blocklabml_nn.gan.stylegan.conv2d_weight_modulate
Implements a recurrent neural network for generating vector-based sketches, handling encoding of input sketches and decoding of new ones.
Related Classes/Methods: