Una guía de codificación para comparar tres modelos de difusión de AI de estabilidad (V1.5, V2-base y SD3-Medio) Capacidades de difusión de lado a lado en Google Colab usando Gradio

En este tutorial práctico, desbloquearemos el potencial creativo de Estabilidad aiLos modelos de difusión líderes en la industria, Difusión estable V1.5, base V2 de estabilidad AI y el medio de difusión estable 3 de vanguardiapara generar imágenes llamativas. Continuando completamente en Google Colab con una interfaz Gradio, experimentaremos comparaciones de lado a lado de tres poderosas tuberías, iteración rápida rápida e inferencia sin interrupciones de GPU sin interrupciones. Ya sea que seamos un vendedor que busca elevar la narrativa visual de nuestra marca o un desarrollador ansioso por prototipos de flujos de trabajo de contenido impulsados ​​por la IA, este tutorial muestra cómo los modelos de código abierto de la IA de estabilidad se pueden implementar instantáneamente y sin costo de infraestructura, lo que le permite centrarse en narraciones, compromiso e impulsar los resultados del mundo real.

!pip install huggingface_hub
from huggingface_hub import notebook_login


notebook_login()

Instalamos la biblioteca Huggingface_hub y luego importamos e invocamos la función Notebook_login (), lo que le solicita que autentique su sesión de cuaderno con su cuenta de Face, lo que le permite acceder y administrar sin problemas modelos, conjuntos de datos y otros recursos de HUB.

!pip uninstall -y torchvision


!pip install --upgrade torch torchvision --index-url https://download.pytorch.org/whl/cu118


!pip install --upgrade diffusers transformers accelerate safetensors gradio pillow

Primero fortalezas sin instalar cualquier visión de antorchas existente para borrar conflictos potenciales, luego reinstalar la vía antorcha y la atorre de las ruedas de Pytorch CUDA 11.8-compatibles, y finalmente actualiza las bibliotecas, difusores, transformadores, transformadores, safetensores, semanales, y almohadas, para garantizar que tengan las últimas versiones de la construcción y la construcción de GPU-accelerados.

import torch
from diffusers import StableDiffusionPipeline, StableDiffusion3Pipeline
import gradio as gr


device = "cuda" if torch.cuda.is_available() else "cpu"

Importamos pytorch junto con las tuberías de difusión V1 y V3 estables de la biblioteca de difusores, así como de GranTio para construir demostraciones interactivas. Luego verifica la disponibilidad de CUDA y establece la variable del dispositivo en “CUDA” si hay una GPU presente; De lo contrario, recae en “CPU”, asegurando que sus modelos se ejecuten en el hardware óptimo.

pipe1 = StableDiffusionPipeline.from_pretrained(
    "runwayml/stable-diffusion-v1-5",
    torch_dtype=torch.float16,
    safety_checker=None
).to(device)
pipe1.enable_attention_slicing()

Cargamos el modelo de difusión estable V1.5 en medias precisión (Float16) sin el verificador de seguridad incorporado, lo transfiere a su dispositivo seleccionado (GPU, si está disponible), y luego permite que el corte de atención reduzca el uso máximo de VRAM durante la generación de imágenes.

pipe2 = StableDiffusionPipeline.from_pretrained(
    "stabilityai/stable-diffusion-2-base",
    torch_dtype=torch.float16,
    safety_checker=None
).to(device)
pipe2.enable_attention_slicing()

Cargamos el modelo de “base” de difusión estable V2 en una precisión de 16 bits sin el filtro de seguridad predeterminado, lo transfiere a su dispositivo elegido y activa el corte de atención para optimizar el uso de la memoria durante la inferencia.

pipe3 = StableDiffusion3Pipeline.from_pretrained(
    "stabilityai/stable-diffusion-3-medium-diffusers",
    torch_dtype=torch.float16,
    safety_checker=None
).to(device)
pipe3.enable_attention_slicing()

Ponemos el punto de control de difusión estable de estabilidad AI 3 en una precisión de 16 bits (omitiendo el verificador de seguridad incorporado), lo transfiere a su dispositivo seleccionado y permite que el corte de atención reduzca el uso de la memoria de GPU durante la generación.

def generate(prompt, steps, scale):
    img1 = pipe1(prompt, num_inference_steps=steps, guidance_scale=scale).images[0]
    img2 = pipe2(prompt, num_inference_steps=steps, guidance_scale=scale).images[0]
    img3 = pipe3(prompt, num_inference_steps=steps, guidance_scale=scale).images[0]
    return img1, img2, img3

Ahora, esta función ejecuta el mismo mensaje de texto a través de las tres tuberías cargadas (Pipe1, Pipe2, Pipe3) utilizando los pasos de inferencia especificados y la escala de guía, luego devuelve la primera imagen de cada una, lo que lo hace perfecto para comparar salidas a través de la difusión estable V1.5, Base V2 y V3-Medio.

def choose(selection):
    return f"✅ You selected: **{selection}**"


with gr.Blocks() as demo:
    gr.Markdown("## AI Social-Post Generator with 3 Models")
    with gr.Row():
        prompt = gr.Textbox(label="Prompt", placeholder="A vibrant beach sunset…")
        steps  = gr.Slider( 1, 100, value=50, step=1,     label="Inference Steps")
        scale  = gr.Slider( 1.0, 20.0, value=7.5, step=0.1, label="Guidance Scale")
    btn = gr.Button("Generate Images")
    with gr.Row():
        out1 = gr.Image(label="Model 1: SD v1.5")
        out2 = gr.Image(label="Model 2: SD v2-base")
        out3 = gr.Image(label="Model 3: SD v3-medium")
    sel = gr.Radio(
        ["Model 1: SD v1.5","Model 2: SD v2-base","Model 3: SD v3-medium"],
        label="Select your favorite"
    )
    txt = gr.Markdown()


    btn.click(fn=generate, inputs=[prompt, steps, scale], outputs=[out1, out2, out3])
    sel.change(fn=choose, inputs=sel, outputs=txt)


demo.launch(share=True)

Finalmente, esta aplicación de Gradio crea una interfaz de usuario de tres columnas donde puede ingresar un mensaje de texto, ajustar los pasos de inferencia y la escala de orientación, luego generar y mostrar imágenes de SD V1.5, V2-Base y V3-Medium lado a lado. También cuenta con un selector de radio, lo que le permite seleccionar la salida de su modelo preferido y muestra un mensaje de confirmación simple cuando se hace una opción.

Una interfaz web para comparar la salida de los tres modelos de IA de estabilidad

En conclusión, al integrar las arquitecturas de difusión de vanguardia de estabilidad AI en una aplicación de Gradio fácil de usar, ha visto cuán sin esfuerzo puede prototipos, comparar e implementar imágenes impresionantes que resuenan en las plataformas actuales. Desde instrucciones creativas de prueba A/B hasta automatizar los activos de la campaña a escala, la IA de estabilidad proporciona el rendimiento, la flexibilidad y el soporte de la comunidad vibrante para transformar su tubería de contenido.


Mira el Cuaderno de colab. No olvides seguirnos Gorjeo y únete a nuestro Canal de telegrama y LinkedIn GRsalpicar. No olvides unirte a nuestro 90k+ ml de subreddit. Para promoción y asociaciones, Por favor, hable.

🔥 [Register Now] Conferencia virtual de Minicon sobre AI agente: registro gratuito + Certificado de asistencia + Evento corto de 4 horas (21 de mayo, 9 am- 1 pm PST) + Hands on Workshop


Nikhil es consultor interno en MarktechPost. Está buscando un doble grado integrado en materiales en el Instituto Indio de Tecnología, Kharagpur. Nikhil es un entusiasta de AI/ML que siempre está investigando aplicaciones en campos como biomateriales y ciencias biomédicas. Con una sólida experiencia en la ciencia material, está explorando nuevos avances y creando oportunidades para contribuir.