--- base_model: runwayml/stable-diffusion-v1-5 library_name: diffusers license: creativeml-openrail-m tags: - stable-diffusion - stable-diffusion-diffusers - text-to-image - diffusers - controlnet - control-lora-v3 - diffusers-training inference: true --- # sd-control-lora-v3-canny These are control-lora-v3 weights trained on runwayml/stable-diffusion-v1-5 with the canny type of conditioning. ## Intended uses & limitations #### How to use First clone the [control-lora-v3](https://github.com/HighCWu/control-lora-v3) and `cd` in the directory: ```sh git clone https://github.com/HighCWu/control-lora-v3 cd control-lora-v3 ``` Then run the python code: ```py # !pip install opencv-python transformers accelerate from diffusers import UniPCMultistepScheduler from diffusers.utils import load_image from model import UNet2DConditionModelEx from pipeline import StableDiffusionControlLoraV3Pipeline import numpy as np import torch import cv2 from PIL import Image # download an image image = load_image( "https://hf.co/datasets/huggingface/documentation-images/resolve/main/diffusers/input_image_vermeer.png" ) image = np.array(image) # get canny image image = cv2.Canny(image, 100, 200) image = image[:, :, None] image = np.concatenate([image, image, image], axis=2) canny_image = Image.fromarray(image) # load stable diffusion v1-5 and control-lora-v3 unet: UNet2DConditionModelEx = UNet2DConditionModelEx.from_pretrained( "runwayml/stable-diffusion-v1-5", subfolder="unet", torch_dtype=torch.float16 ) unet = unet.add_extra_conditions(["canny"]) pipe = StableDiffusionControlLoraV3Pipeline.from_pretrained( "runwayml/stable-diffusion-v1-5", unet=unet, torch_dtype=torch.float16 ) # load attention processors pipe.load_lora_weights("HighCWu/sd-control-lora-v3-canny") # speed up diffusion process with faster scheduler and memory optimization pipe.scheduler = UniPCMultistepScheduler.from_config(pipe.scheduler.config) # remove following line if xformers is not installed pipe.enable_xformers_memory_efficient_attention() pipe.enable_model_cpu_offload() # generate image generator = torch.manual_seed(0) image = pipe( "futuristic-looking woman", num_inference_steps=20, generator=generator, image=canny_image ).images[0] image.show() ``` #### Limitations and bias [TODO: provide examples of latent issues and potential remediations] ## Training details [TODO: describe the data used to train the model]