View file src/colab/from_imagination_to_reality_in_real_time_unveiling_the_power_of_sdxl.py - Download

# -*- coding: utf-8 -*-
"""From Imagination to Reality in Real-Time: Unveiling the Power of SDXL.ipynb

Automatically generated by Colab.

Original file is located at
    https://colab.research.google.com/drive/16jFPljOgEynJKqVZfG0tlh_a_ZXdV-sh

This notebook is inspired by this page written by Nashit Budhwani :

https://medium.com/@nashitnoorali78/from-imagination-to-reality-in-real-time-unveiling-the-power-of-sdxl-80f259ba4e86

NOTE : This notebook may be stuck on "Fetching 30 files: 0%". This problem can be solved by creating a secret named HF_TOKEN (click on the key icon on the left) with any value (not necessarily a valid HuggingFace token). When you run the notebook, it asks if you want to grant access to the HF_TOKEN secret. Then DON'T GRANT ACCESS BUT CANCEL TO DENY ACCESS. (It's strange but it works like this.)

# Real-Time Image Generation with SDXL: Redefining Speed and Interactivity

In addition to the previously mentioned features, SDXL boasts impressive real-time image generation capabilities. This groundbreaking functionality allows users to witness the image come to life as they fine-tune the textual prompts and adjust various parameters. This interactive experience is made possible by:

* SDXL Turbo: This optimized version of SDXL significantly reduces the time required to generate images, often achieving results in a single sampling step. This allows for real-time feedback and iterative refinement.

* Latent Space Editing: Unlike traditional image editing tools that manipulate individual pixels, SDXL operates in the “latent space,” where abstract representations of the image reside. This allows for fine-grained control over specific image features without compromising overall image quality.

* RefineNet: This additional neural network works in tandem with the base SDXL model to enhance the details and sharpness of the final image, particularly when using real-time editing.

![0 7KIe5LptrdE5WAql.webp](data:image/webp;base64,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)

## Benefits of Real-Time Image Generation

* Enhanced Creativity and Exploration: Artists and designers can experiment with different ideas and iterate quickly, leading to more creative and innovative outputs.

* Improved Learning and Experimentation: Users can gain a deeper understanding of the image generation process and explore the impact of various parameters in real-time.

* Accessibility and Broader Applications: Real-time capabilities open up new possibilities for using SDXL in interactive applications, educational tools, and even live performances.

## Generating Images with SDXL-turbo

Diffusers
"""

!pip install diffusers transformers accelerate --upgrade

"""## Text-to-image:

SDXL-Turbo does not make use of guidance_scale or negative_prompt, we disable it with guidance_scale=0.0. Preferably, the model generates images of size 512x512 but higher image sizes work as well. A single step is enough to generate high quality images.
"""

from diffusers import AutoPipelineForText2Image
import torch
from IPython.display import display

pipe_t2i = AutoPipelineForText2Image.from_pretrained("stabilityai/sdxl-turbo", torch_dtype=torch.float16, variant="fp16").to("cuda")

torch.manual_seed(14)
prompt = "A cinematic shot of a baby racoon wearing an intricate italian priest robe."
image = pipe_t2i(prompt=prompt, num_inference_steps=1, guidance_scale=0.0).images[0]
display(image)

torch.manual_seed(14)
prompt = "cat wizard, gandalf, lord of the rings, detailed, fantasy, cute, adorable, Pixar, Disney, 8k"
image = pipe_t2i(prompt=prompt, num_inference_steps=1, guidance_scale=0.0).images[0]
display(image)

"""## Image-to-image:

When using SDXL-Turbo for image-to-image generation, make sure that num_inference_steps * strength is larger or equal to 1. The image-to-image pipeline will run for int(num_inference_steps * strength) steps, e.g. 0.5 * 2.0 = 1 step in our example below.
"""

from diffusers import AutoPipelineForImage2Image
from diffusers.utils import load_image

pipe_i2i = AutoPipelineForImage2Image.from_pretrained("stabilityai/sdxl-turbo", torch_dtype=torch.float32, variant="fp16")

init_image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/cat.png").resize((512, 512))
display(init_image)

torch.manual_seed(14)
prompt = "cat wizard, gandalf, lord of the rings, detailed, fantasy, cute, adorable, Pixar, Disney, 8k"
image = pipe_i2i(prompt, image=init_image, num_inference_steps=2, strength=0.5, guidance_scale=0.0).images[0]
display(image)

"""## The Future of Real-Time Image Generation

The potential of SDXL’s real-time capabilities is vast. We can expect to see further advancements in areas such as:

* Interactive storytelling and game development: Imagine creating and experiencing narratives that unfold in real-time based on your choices and actions.
    
* Augmented reality and virtual reality experiences: SDXL can be used to generate dynamic and interactive environments that respond to user input in real-time.
    
* Collaborative art creation and design: Artists and designers can work together in real-time to co-create and refine images, fostering collaboration and innovation.

As these technologies mature, we can expect real-time image generation to play an increasingly significant role in diverse sectors, blurring the lines between imagination and reality.

## Conclusion

SDXL is a revolutionary AI tool that pushes the boundaries of text-to-image generation. Its impressive capabilities, open-source nature, and real-time functionalities offer immense potential for creative professionals, researchers, and anyone interested in exploring the intersection of AI and art. By understanding the inner workings and potential of SDXL, we can better utilize this powerful tool and contribute to shaping the future of intelligent image creation.

## Reference Links

* Paper: https://arxiv.org/abs/2112.10752
"""

!python --version
!for p in diffusers accelerate torch ipython; do pip list | grep "^$p[ \t]"; done

"""Python 3.10.12

diffusers                          0.32.1
accelerate                         1.2.1
torch                              2.5.1+cu121
ipython
"""