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, almohadilla V2 de estabilidad AI y el medio de difusión estable 3 de vanguardiapara difundir imágenes llamativas. Continuando completamente en Google Colab con una interfaz Gradio, experimentaremos comparaciones de costado a costado de tres poderosas tuberías, iteración rápida rápida e inferencia sin interrupciones de GPU sin interrupciones. Ya sea que seamos un mercader que exploración elevar la novelística 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 campechano 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 efectivo.
!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 lograr y regir sin problemas modelos, conjuntos de datos y otros bienes 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 velón 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 certificar 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 conexo 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 perfecto.
pipe1 = StableDiffusionPipeline.from_pretrained(
"runwayml/stable-diffusion-v1-5",
torch_dtype=torch.float16,
safety_checker=None
).to(device)
pipe1.enable_attention_slicing()
Cargamos el maniquí 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á apto), y luego permite que el corte de atención reduzca el uso mayor de VRAM durante la gestació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 maniquí de «almohadilla» de difusión estable V2 en una precisión de 16 bits sin el filtro de seguridad predeterminado, lo transfiere a su dispositivo predilecto 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 gestació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 escalera de derrotero, luego devuelve la primera imagen de cada una, lo que lo hace consumado para comparar expectativas a través de la difusión estable V1.5, Saco 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.Radiodifusión(
("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 legatario de tres columnas donde puede ingresar un mensaje de texto, ajustar los pasos de inferencia y la escalera de orientación, luego difundir y mostrar imágenes de SD V1.5, V2-Saco y V3-Medium costado a costado. Asimismo cuenta con un selector de radiodifusión, lo que le permite distinguir la salida de su maniquí preferido y muestra un mensaje de confirmación simple cuando se hace una opción.
En conclusión, al integrar las arquitecturas de difusión de vanguardia de estabilidad AI en una aplicación de Gradio dócil de usar, ha manido 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 escalera, la IA de estabilidad proporciona el rendimiento, la flexibilidad y el soporte de la comunidad vibrátil para transfigurar su tubería de contenido.
Mira el Cuaderno de colab. No olvides seguirnos Gorjeo y únete a nuestro Canal de telegrama y LinkedIn GRdistribuir. No olvides unirte a nuestro 90k+ ml de subreddit. Para promoción y asociaciones, Por atención, hable.
Nikhil es consejero interno en MarktechPost. Está buscando un doble categoría 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.