Paso a paso: ejecuta Stable Diffusion gratis en Google Colab

Crea gratis imágenes espectaculares con inteligencia artificial usando Google Colab.

En nuestro artículo sobre modelos generadores de imágenes destacábamos a Stable Diffusion como una solución de software libre que tendría implicaciones muy importantes en la masificación del uso de este tipo de tecnologías.

Stable Diffusion ha tenido un ritmo de crecimiento increíble.

En la actualidad todos quieren incorporar esta tecnología de generación de imágenes a sus proyectos, por lo que muy pronto tendremos una variedad abrumadora de herramientas de este tipo que ya están empezando a hacerse notar.

El simple hecho de tener la libertad de correr un modelo con estas características en tu hardware llama muchísimo la atención.

Es por esto que desde SaasRadar no queremos dejarte en teoría, queremos que pruebes y te diviertas con Stable Diffusion, por lo que estaremos viendo una alternativa sencilla y barata utilizando los recursos que pone a nuestra disposición Google Colab.

Conceptos básicos

Empecemos viendo de un modo muy superficial algunos conceptos que necesitaremos dominar más adelante para entender la práctica.

¿Qué es un Jupyter Notebook?

De forma muy resumida, un Jupyter Notebook es una aplicación web para crear y compartir código. Su objetivo es crear un flujo de pasos documentados que haga más sencilla la comunicación entre desarrolladores, permitiendo ejecutar el código desde la web.

De este modo, podemos crearnos un notebook con todos los pasos para una determinada tarea incluyendo el código necesario, lo compartimos, y la otra persona solo tiene que ir ejecutando cada paso, que, a su vez, puede contener toda la explicación necesaria.

Para conocer más sobre este tema, visitar «Jupyter Notebook: la forma más sencilla de compartir y documentar tu código«.

¿Qué es Google Colab?

Colab es un producto de Google Research que se basa en el uso de Jupyter Notebooks permitiendo a cualquier persona escribir y ejecutar código en Python desde la web.

Cuando utilizas este servicio se te asocia una máquina virtual a tu cuenta, de modo que estás utilizando los recursos de hardware de Google para el desarrollo, incluyendo potentes tarjetas gráficas.

Por este motivo Colab es ampliamente utilizado en tareas de análisis de datos, aprendizaje automático y educación.

Límites de Google Colab

Según su web oficial, Colab puede ofrecer recursos sin coste adicional porque, por un lado, tiene límites de uso dinámicos que a veces fluctúan y, por otro lado, no ofrece recursos ilimitados ni garantizados.

Por tanto, si bien es cierto que hay una gran probabilidad de acceder a los recursos con las cuentas de pago, como dicen claramente, no está garantizado ni siquiera para estos.

Si solo quieres probar y tu cuenta es gratuita en ocasiones hay que intentarlo en varios momentos y rezar por una buena tarjeta gráfica.

Colab cuantifica el uso de sus recursos con las denominadas unidades de cómputo, que puedes visualizar en el monitor de recursos.

Precio

Como decíamos anteriormente, puedes utilizar Colab de forma gratuita, pero el acceso a los recursos, especialmente a las tarjetas gráficas puede resultar complicado.

Si te decides por una opción de pago tienes a tu disposición un plan sin suscripción donde puedes adquirir 100 unidades de cómputo por $9.99 y 500 por $49.99.

El plan Pro tiene un costo de $9.99 al mes que garantizan 100 unidades de cómputo mensuales.

Por último, el plan Pro+ tiene un precio de $49.99 al mes, con 500 unidades de cómputo mensuales y prioridad en el acceso a GPU.

Ahora sí, manos a la obra

Ahora que ya sabes que son los cuadernos de Jupyter y que es Colab, estamos en condiciones para comenzar la parte práctica del tutorial. Te invito a seguir los siguientes pasos:

1. Crear una cuenta en Hugging Face. Este paso no tiene mucho misterio, correo electrónico, contraseña, usuario y nombre. Aceptas los términos y condiciones de uso y listo.

2. Abrir el cuaderno de Jupyter en Colab. El cuaderno que te propongo está disponible aquí. Debe mostrarse en tu navegador web una pantalla como esta:

Paso 2 Paso a paso: ejecuta Stable Diffusion gratis en Google Colab

Puedes observar un cuaderno de Jupyter en Colab, donde se encuentra toda la descripción de cada paso con el código que es necesario ejecutar.

Si te fijas, el proceso consta de 3 pasos generales que engloban muchos otros: Instalación, Preparación de la interfaz web para Stable Diffusion y su montaje.

3. Ejecutar la celda Setup Usage haciendo clic en el botón debajo del texto.

Paso 3. Ejecutar Setup stage Paso a paso: ejecuta Stable Diffusion gratis en Google Colab

Este paso contiene 10 celdas ocultas, te invito a desplegar Setup stage para explicarte lo que hace en cada caso. Esto es opcional, con fines educativos solamente.

Paso 3.1. Revision de la tarjeta Paso a paso: ejecuta Stable Diffusion gratis en Google Colab

En este primer comando se revisa la tarjeta gráfica que Colab nos está proporcionando.

En este caso fue una Tesla T4, ¡bingo! Con esta tarjeta tenemos 15 GB de VRAM, suficiente para correr Stable Diffusion.

Paso 3.2. Descarga de Stble Diffusion Paso a paso: ejecuta Stable Diffusion gratis en Google Colab

En este segundo paso se procede a descargar Stable Diffusion desde su repositorio oficial.

Paso 3.3. Instalando dependencias Paso a paso: ejecuta Stable Diffusion gratis en Google Colab

Se instalan los paquetes de Python necesarios para correr el modelo.

Paso 3.4. Instalando GFPGan y ESRGAN Paso a paso: ejecuta Stable Diffusion gratis en Google Colab

Se procede a descargar e instalar las herramientas de mejora de rostros GFPGan y la de mejora de resolución ESRGAN.

Paso 3.5. Conectando a Google Drive 1 Paso a paso: ejecuta Stable Diffusion gratis en Google Colab
Paso 3.5. Conectando a Google Drive 2 Paso a paso: ejecuta Stable Diffusion gratis en Google Colab

Este paso si requiere configuración. Su objetivo es cargar el modelo desde tu Google Drive, por lo que debemos configurar en que directorio estará. Puedes cambiar la ruta por defecto que será en una carpeta denominada IA y dentro models y output.

Aquí tienes la posibilidad de descargar el modelo desde Hugging Face, o marcar la opción download_if_missing para que se haga automáticamente. Para esto debes autenticarte y aceptar los términos en Hugging Face e insertar en la celda correspondiente el token que te genera este servicio. Este proceso se realiza fácilmente haciendo clic en los dos enlaces marcados como HERE.

Durante este proceso, se te informará que se está intentando acceder a tu Drive y te pide autorización para hacerlo. Hacemos clic en Connect to Google Drive y nos autenticamos.

Paso 3.5. Conectando a Google Drive 3 Paso a paso: ejecuta Stable Diffusion gratis en Google Colab

4. En este paso podrás configurar algunas preferencias de despliegue para usuarios avanzados, puedes dejar todo como está.

Paso 4. Preferencias de despliegue Paso a paso: ejecuta Stable Diffusion gratis en Google Colab

5. Desplegar interfaz web.

Paso 5. Desplegar interfaz web Paso a paso: ejecuta Stable Diffusion gratis en Google Colab

Este paso tendrá como salida una URL pública como ves en la imagen, a la que puedes acceder para tener una interfaz gráfica que se enlaza al modelo. Esta será la interfaz que permite que puedas generar fácilmente tus imágenes usando Stable Diffusion.

6. Accedemos a la URL pública que nos da el quinto paso.

7. Usa tu imaginación y pon a Stable Diffusion a trabajar para ti 😁 👌.

Analizando las opciones de la web

La web generada por este cuaderno de Jupyter no solo nos sirve para generar imágenes en el modo “tradicional” con Stable Diffusion, tiene más, mucho más, veamos:

Generación Texto a Imagen en Stable Diffusion

En esta primera pestaña tenemos la generación tradicional de texto a imagen, donde introducimos un texto en el prompt, le damos generar y se hace la magia.

A la izquierda podemos ajustar los parámetros de tamaño de las imágenes, ajuste de la salida al prompt y cantidad de imágenes a generar.

A la derecha tenemos la cantidad de pasos y el método que se utilizará para generar las imágenes.

Debajo tenemos opciones que se aplicarán al resultado del procesamiento, como copiar la imagen al portapapeles, generación imagetoimage a partir del resultado o aumentar su resolución con ESRGAN.

Generación Imagen a Imagen en Stable Diffusion

La segunda pestaña permite insertar una imagen que puede ser un prototipo dibujado rápidamente y unido a una entrada de texto puedes obtener una imagen real generada por Stable Diffusion.

Esta opción es muy útil porque es más sencillo llevar una idea a un dibujo que describir cada detalle.

Restauración de imágenes en Stable Diffusion

La pestaña GFPGAN es una herramienta dedicada a restaurar fotos de rostros.

Su funcionamiento es muy simple, subes la foto y haces clic en generar y podrás mejorar la calidad de tus fotos antiguas o dañadas.

Mejora de resolución de imágenes en Stable Diffusion

Por último, puedes aumentar la resolución de tus fotos y mejorar su calidad en la pestaña RealESRGAN.

Su funcionamiento es similar al caso anterior, subes la foto y le das generar, la interfaz web se comunica con el modelo corriendo en Colab y tendrás tu foto mejorada.

Esto es todo lo que les tenía para hoy, espero que haya quedado claro cada paso. De todos modos, si tienes algún problema en el proceso, házmelo saber en los comentarios.

Ahora solo queda ir a generar imágenes y jugar con las entradas de texto.

También puedes explorar otras alternativas gratuitas para generar imágenes con IA para las que se necesita menos conocimientos técnicos.

8 comentarios

    • Hola, primero que todo, gracias por seguir SaasRadar.
      ¿En que paso de los descritos te dio ese error?

    • Si lo haces utilizando esta vía la respuesta es sí. Debes tener en cuenta que estás utilizando el hardware de Google, recursos asignados de forma dinámica bajo demanda. Esto significa que una vez concluida tu tarea tus recursos se le asignan a otros usuarios por lo que tus datos deben limpiarse. En caso de tener la tarjeta gráfica que se requiere lo puedes hacer en una PC o servidor propio y no necesitas hacer todos los pasos.
      Saludos!!!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.