From 9733122ba1e18ef54680efc4aebb082621e46e73 Mon Sep 17 00:00:00 2001 From: pavansai018 <18pavansai@gmail.com> Date: Sun, 14 Jun 2026 21:07:49 +0800 Subject: [PATCH 1/7] fixed issues in cross attention init --- sd/diffusion.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sd/diffusion.py b/sd/diffusion.py index b12970b..5a887fa 100644 --- a/sd/diffusion.py +++ b/sd/diffusion.py @@ -82,7 +82,7 @@ def __init__(self, n_head: int, n_embd: int, d_context=768): self.layernorm_1 = nn.LayerNorm(normalized_shape=channels) self.attention_1 = SelfAttention(n_heads=n_head, d_embed=channels, in_proj_bias=False) self.layernorm_2 = nn.LayerNorm(normalized_shape=channels) - self.attention_2 = CrossAttention(n_heads=n_head, d_cross=channels, d_embed=d_context, in_proj_bias=False) + self.attention_2 = CrossAttention(n_heads=n_head, d_embed=channels, d_cross=d_context, in_proj_bias=False) self.layernorm_3 = nn.LayerNorm(normalized_shape=channels) self.linear_geglu_1 = nn.Linear(in_features=channels, out_features=4 * channels * 2) self.linear_geglu_2 = nn.Linear(in_features=4 * channels, out_features=channels) @@ -168,12 +168,12 @@ def forward(self, x:torch.Tensor, context:torch.Tensor): # (Batch_Size, Features, Height, Width) + (Batch_Size, Features, Height, Width) -> (Batch_Size, Features, Height, Width) return self.conv_output(x) + residue_long -class SwitchSequential(nn.Module): +class SwitchSequential(nn.Sequential): def forward(self, x: torch.Tensor, context: torch.Tensor, time: torch.Tensor) -> torch.Tensor: for layer in self: if isinstance(layer, UNET_AttentionBlock): x = layer(x, context) - elif isinstance(x, UNET_ResidualBlock): + elif isinstance(layer, UNET_ResidualBlock): x = layer(x, time) else: x = layer(x) @@ -192,7 +192,7 @@ def forward(self, x): class UNET(nn.Module): - def __init__(self,): + def __init__(self): super().__init__() self.encoders = nn.ModuleList([ @@ -307,6 +307,7 @@ def forward(self, x): class Diffusion(nn.Module): def __init__(self): + super().__init__() self.time_embedding = TimeEmbedding(n_embed=320) self.unet = UNET() self.final = UNET_OutputLayer(in_channels=320, out_channels=4) From 59431343ff683c94aa56c9acdcca938dc51d908f Mon Sep 17 00:00:00 2001 From: pavansai018 <18pavansai@gmail.com> Date: Sun, 14 Jun 2026 21:08:17 +0800 Subject: [PATCH 2/7] changed the device to cpu --- sd/model_converter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sd/model_converter.py b/sd/model_converter.py index 92dc25e..1a5f0d4 100644 --- a/sd/model_converter.py +++ b/sd/model_converter.py @@ -2,7 +2,7 @@ def load_from_standard_weights(input_file: str, device: str) -> dict[str, torch.Tensor]: # Taken from: https://github.com/kjsman/stable-diffusion-pytorch/issues/7#issuecomment-1426839447 - original_model = torch.load(input_file, map_location=device, weights_only = False)["state_dict"] + original_model = torch.load(input_file, map_location='cpu', weights_only = False)["state_dict"] converted = {} converted['diffusion'] = {} From 416250f64aef24fbe148abc068437dc129bd6807 Mon Sep 17 00:00:00 2001 From: pavansai018 <18pavansai@gmail.com> Date: Sun, 14 Jun 2026 21:08:32 +0800 Subject: [PATCH 3/7] changed the device to cpu --- sd/model_loader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sd/model_loader.py b/sd/model_loader.py index b574844..13c91d5 100644 --- a/sd/model_loader.py +++ b/sd/model_loader.py @@ -7,7 +7,7 @@ def preload_models_from_standard_weights(ckpt_path: str, device: str): state_dict = model_converter.load_from_standard_weights(ckpt_path, device) - + device = 'cpu' encoder = VAE_Encoder().to(device) encoder.load_state_dict(state_dict['encoder'], strict=True) From 96a1cd24559ca982fff6713ab5ec2ea9558ea585 Mon Sep 17 00:00:00 2001 From: pavansai018 <18pavansai@gmail.com> Date: Sun, 14 Jun 2026 21:09:15 +0800 Subject: [PATCH 4/7] fixed issues related to lambda function, setting seed --- sd/pipeline.py | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/sd/pipeline.py b/sd/pipeline.py index 0867360..2ba5d0a 100644 --- a/sd/pipeline.py +++ b/sd/pipeline.py @@ -40,15 +40,15 @@ def generate(prompt: str, uncond_prompt: str, input_image: None | torch.Tensor, raise ValueError('Strength must be between 0 and 1') if idle_device: - to_idle: lambda x: x.to(idle_device) + to_idle = lambda x: x.to(idle_device) else: - to_idle: lambda x: x + to_idle = lambda x: x generator = torch.Generator(device=device) if seed is None: generator.seed() else: - generator.manual_seed(seed=seed) + generator.manual_seed(seed) clip = models['clip'] clip.to(device) @@ -57,7 +57,7 @@ def generate(prompt: str, uncond_prompt: str, input_image: None | torch.Tensor, # convert the prompt into tokens cond_tokens = tokenizer.batch_encode_plus([prompt], padding='max_length', max_length=77).input_ids # convert input ids into tensor (batch_size, seq len) - cond_tokens = torch.Tensor(cond_tokens, dtype=torch.long, device=device) + cond_tokens = torch.tensor(cond_tokens, dtype=torch.long, device=device) # (batch size, seq len) -> (batch size, seq len, dim) cond_context = clip(cond_tokens) @@ -124,7 +124,7 @@ def generate(prompt: str, uncond_prompt: str, input_image: None | torch.Tensor, timesteps = tqdm(sampler.timesteps) for i, timestep in enumerate(timesteps): # (1, 320) - time_embedding = get_time_embedding(timestep=timestep).to_device + time_embedding = get_time_embedding(timestep=timestep).to(device) # (batch_szie, 4, latent_height, latent_width) model_input = latents @@ -132,20 +132,16 @@ def generate(prompt: str, uncond_prompt: str, input_image: None | torch.Tensor, if do_cfg: # (Batch_Size, 4, Latents_Height, Latents_Width) -> (2 * Batch_Size, 4, Latents_Height, Latents_Width) model_input = model_input.repeat(2, 1, 1, 1) - - else: - # model_output is the predicted noise - # (Batch_Size, 4, Latents_Height, Latents_Width) -> (Batch_Size, 4, Latents_Height, Latents_Width) - model_output = diffusion(model_input, context, time_embedding) + # model_output is the predicted noise + # (Batch_Size, 4, Latents_Height, Latents_Width) -> (Batch_Size, 4, Latents_Height, Latents_Width) + model_output = diffusion(model_input, context, time_embedding) if do_cfg: output_cond, output_uncond = model_output.chunk(2) model_output = cfg_scale * (output_cond - output_uncond) + output_uncond - - else: - # (Batch_Size, 4, Latents_Height, Latents_Width) -> (Batch_Size, 4, Latents_Height, Latents_Width) - latents = sampler.step(timestep, latents, model_output) + # (Batch_Size, 4, Latents_Height, Latents_Width) -> (Batch_Size, 4, Latents_Height, Latents_Width) + latents = sampler.step(timestep, latents, model_output) to_idle(diffusion) From 5ad7e53e8de7370f4c58129d48920326f35bdeda Mon Sep 17 00:00:00 2001 From: pavansai018 <18pavansai@gmail.com> Date: Sun, 14 Jun 2026 21:09:39 +0800 Subject: [PATCH 5/7] fixed keyword params issue --- sd/vae_decoder.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sd/vae_decoder.py b/sd/vae_decoder.py index 0817b7a..55001c4 100644 --- a/sd/vae_decoder.py +++ b/sd/vae_decoder.py @@ -48,7 +48,7 @@ def __init__(self, in_channels, out_channels): self.groupnorm_1 = nn.GroupNorm(num_groups=32, num_channels=in_channels) self.conv_1 = nn.Conv2d(in_channels=in_channels, out_channels=out_channels, kernel_size=3, padding=1) - self.groupnorm_2 = nn.GroupNorm(num_groups=32, out_channels=out_channels) + self.groupnorm_2 = nn.GroupNorm(num_groups=32, num_channels=out_channels) self.conv_2 = nn.Conv2d(in_channels=out_channels, out_channels=out_channels, kernel_size=3, padding=1) if in_channels == out_channels: From 1b8f4ba84ec7ca719e9cb0c9d0feadf1d43566de Mon Sep 17 00:00:00 2001 From: pavansai018 <18pavansai@gmail.com> Date: Sun, 14 Jun 2026 21:09:53 +0800 Subject: [PATCH 6/7] added inference code --- sd/demo.ipynb | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 sd/demo.ipynb diff --git a/sd/demo.ipynb b/sd/demo.ipynb new file mode 100644 index 0000000..51b53db --- /dev/null +++ b/sd/demo.ipynb @@ -0,0 +1,125 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 4, + "id": "83e7e681", + "metadata": {}, + "outputs": [], + "source": [ + "import model_loader\n", + "import pipeline\n", + "from PIL import Image\n", + "from transformers import CLIPTokenizer\n", + "import torch\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "8e730da6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'cuda'" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ALLOW_CUDA = True\n", + "DEVICE = 'cuda' if torch.cuda.is_available() and ALLOW_CUDA else 'cpu'\n", + "DEVICE" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cea60e6f", + "metadata": {}, + "outputs": [], + "source": [ + "tokenizer = CLIPTokenizer(vocab_file='../data/vocab.json', merges_file='../data/merges.txt')\n", + "model_file = '../data/v1-5-pruned-emaonly.ckpt'\n", + "models = model_loader.preload_models_from_standard_weights(model_file, DEVICE)\n", + "\n", + "## TEXT TO IMAGE\n", + "\n", + "prompt = \"A dog with sunglasses, wearing comfy hat, looking at camera, highly detailed, ultra sharp, cinematic, 100mm lens, 8k resolution.\"\n", + "# prompt = \"A cat stretching on the floor, highly detailed, ultra sharp, cinematic, 100mm lens, 8k resolution.\"\n", + "uncond_prompt = \"\" # Also known as negative prompt\n", + "do_cfg = True\n", + "cfg_scale = 8 # min: 1, max: 14\n", + "\n", + "## IMAGE TO IMAGE\n", + "\n", + "input_image = None\n", + "# Comment to disable image to image\n", + "image_path = \"../images/dog.jpg\"\n", + "# input_image = Image.open(image_path)\n", + "# Higher values means more noise will be added to the input image, so the result will further from the input image.\n", + "# Lower values means less noise is added to the input image, so output will be closer to the input image.\n", + "strength = 0.9\n", + "\n", + "## SAMPLER\n", + "\n", + "sampler = \"ddpm\"\n", + "num_inference_steps = 50\n", + "seed = 42\n", + "\n", + "output_image = pipeline.generate(\n", + " prompt=prompt,\n", + " uncond_prompt=uncond_prompt,\n", + " input_image=input_image,\n", + " strength=strength,\n", + " do_cfg=do_cfg,\n", + " cfg_scale=cfg_scale,\n", + " sampler_name=sampler,\n", + " n_inference_steps=num_inference_steps,\n", + " seed=seed,\n", + " models=models,\n", + " device=DEVICE,\n", + " idle_device=\"cpu\",\n", + " tokenizer=tokenizer,\n", + ")\n", + "\n", + "# Combine the input image and the output image into a single image.\n", + "Image.fromarray(output_image)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4bfedbd6", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "rl_venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From caad59a081ba062e46d4d0d4ccb2c5eb7b68a7f3 Mon Sep 17 00:00:00 2001 From: pavansai018 <18pavansai@gmail.com> Date: Sun, 14 Jun 2026 21:10:07 +0800 Subject: [PATCH 7/7] added sample image --- images/dog.jpg | Bin 0 -> 52551 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/dog.jpg diff --git a/images/dog.jpg b/images/dog.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4455579d87a3df1fdd1b175367883309d47b09f8 GIT binary patch literal 52551 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 literal 0 HcmV?d00001