Quรฉ es Stable Diffusion, cรณmo instalarlo y utilizarlo

NUEVO PROYECTO: Recibe una curiosidad diaria con nuestra Newsletter. Pequeรฑos asombros diarios para Personas Altamente Curiosas
imagenes generadas con stable diffusion

Esto es una guรญa para conocer Stable Diffusion y enseรฑar cรณmo puedes utilizar esta herramienta.

La imagen de arriba estรก generado con Stable Diffusion. Se ha generado a partir del siguiente texto (prompt)

City skyline with skycrapers, by Stanislav Sidorov, digital art, ultra realistic, ultra detailed, photorealistic, 4k, character concept, soft light,blade runner, futuristic

Stable Diffusion es un modelo de aprendizaje automรกtico text-to-image. Un modelo de deep learning, de inteligencia artificial que nos permite generar imรกgenes a partir de texto que le metemos como input o entrada.

No es el primero modelo ni la primera herramienta que sacan de este estilo,ahora mismo se habla mucho de Dall-e 2, MidJourney, Image de Google, pero sรญ que es el mรกs importante por lo que representa. Stable Diffusion es un proyecto Open Source, de forma que cualquiera puede utilizarlo y modificarlo. En su versiรณn 1.4 tenemos un archivo .cpxt de 4G donde viene todo el modelo pre-entrenado, y esto, es una autรฉntica revoluciรณn.

Tanto es asรญ que en tan solo 2 o 3 semanas desde su liberaciรณn, encontramos plugins para PhotoShop, GIMP, Krita, WordPress, Blender, etc. prรกcticamente cualquier herramienta que traaje con imรกgenes estรก implementando Stable Diffusion, tanto es asรญ que hasta los competidores como Midjourney estรกn utilizรกndolo para mejorar sus herramientas. Pero no solo sirve para generar herramientas, sino que nosotros como usuarios podemos instalarlo en nuestro PC y ejecutarlo para obtener las imรกgenes en local.

Porque ademรกs que sea Open Source no quiere decir que sea menos potente que los anteriores. Es una autรฉntica maravilla. Para mรญ ahora mismo es la mejor herramienta que podemos utilizar si queremos generar nuestras imรกgenes pra cualquier proyecto.

Formas de instalar y usar Stable Diffusion

Hay diferentes formas de utilizarlo. Yo ahora mismo recomiendo 2. Si tu ordenador tiene la potencia necesaria, es decir una grรกfica de unos 8Gb de RAM, entonces instรกlatelo en tu ordenador. Si tu hardware no es lo suficientemente potente usa un Colab de Google, ahora mismo te recomiendo el de Altryne, porque viene con interfaz grรกfica y es mรกs fรกcil de utilizar.

NUEVO PROYECTO: Recibe una curiosidad diaria con nuestra Newsletter. Pequeรฑos asombros diarios para Personas Altamente Curiosas

Paso a detallar.

Colab de Altryne

Esta es la opciรณn que yo te recomiendo si tu ordenador no es lo suficientemente potente (GPU con 8Gb de RAM) o si quieres probarlo con todas sus funcionalidades sin tener que estar instalando nada.

La recomiendo porque tiene una interfaz grรกfica muy cรณmoda con muchas opciones para controlar las imรกgenes y otras herramientas del modelo como el image to image y el upscale

Utilizamos el Colab de Google creado por Altryne y Google Drive para guardar el modelos y los resultados.

Es todo gratis. Dejo un vรญdeo de todo el proceso que como verรกs es muy sencillo.

Instalar en PC

Para instalarlo desde PC puedes seguir las indicaciones que dan en su GitHub, https://github.com/CompVis/stable-diffusion o en su versiรณn con interfaz grรกfica que me gusta mucho mรกs https://github.com/AUTOMATIC1111/stable-diffusion-webui y en windows y Linux puedes usar este ejecutable para instalarlo Stable Diffusion UI v2

Ya sabes que necesitas una GPU potente de unos 8Gb de RAM mรญnimo para que funcione fluidamente. Puedes hacer que tire de CPU, pero es muchรญsimo mรกs lento y tambiรฉn dependerรก del procesador que tengas. Asรญ que si tu equipo es antiguo tendrรกs que resignarte a utilizar los Colab o algรบn mรฉtodo de pago para usar Stable Diffusion

Las ventajas de tenerlo en tu PC, es que es mucho mรกs rรกpido utilizarlo, no tienes que instalar ni configurar nada, tan solo haciรฉndolo una vez es suficiente, a partir de ahรญ todo es mucho mรกs rรกpido.

Ademรกs otra razรณn por la que me gusta mucho es porque puedo integrarlo en otros scripts y aprovechar las imรกgenes generadas metiรฉndolas directamente en el workflow de las tareas lo que es un punto muy importante.

Colab oficial Diffusers

Es muy similar al Colab que he recomendado arriba, se ejecuta casi igual, NO hay que subir el modelo, pero no tiene interfaz grรกficay apra modificar cualquier opciรณn hay que ir cambiando las opcines de los bloques de cรณdigo y modificรกndolos para ajustarlo a lo que necesitamos.

Ademรกs no podemos utilizar la opciรณn de image to image que es muy atractiva.

Puedes acceder desde este https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers/stable_diffusion.ipynb

Tenemos filtro para imรกgenes adultas, el famoso NSFW pero puedes desactivarlo utilizando este cรณdigo, es decir creando una celda en el documento con

def dummy_checker(images, **kwargs): return images, False
http://pipe.safety_checker = dummy_checker

Hay que ponerlo justo despuรฉs de la celda

pipe = pipe.to("cuda")

y ejecutarlo

Colab Stable Diffusion Infinity

En este Colab podemos utilizar la herramienta Infinity, que nos permite completar imรกgenes. Crea contenido a partir de la imagen existente. Una autรฉntica pasada.

https://colab.research.google.com/github/lkwq007/stablediffusion-infinity/blob/master/stablediffusion_infinity_colab.ipynb#scrollTo=lVLSD0Dh0i-L

Dreamboth con Stable Diffusion

Esta es la implementaciรณn de Dreamboth de Google con Stable Diffuision que permite a partir de unas pocas imรกgenes de un apersona obtener resultados personalizados con la cara que el demos.

Una forma increรญble de personalizar las imรกgenes

https://github.com/XavierXiao/Dreambooth-Stable-Diffusion

Otros Colabs

Ya sabes como se trabaja en Colab, pues te dejo otros que voy encontrando pra que utilices el que mรกs te gusta. Incluso si quieres puedes hacer una copia y modificarlo a tu gusto para tener tu propia versiรณn

Desde su web oficial

Una forma sencilla de utilizarlo, como si usas Dall-e 2 en OpenAI, pero si usas la plataforma el servicio es de pago. https://stability.ai/

Desde HuggingFace

Una opciรณn interesante para probarlo rรกpidamente y sacarnos unas imรกgenes, solo para ver como funciona, pro faltan muchas opciones que utilizaremos si vamos a ponernos en serio con esto.

https://huggingface.co/spaces/stabilityai/stable-diffusion

Utilizando AWS o algรบn servicio Cloud

Se puede utilizar el modelo de Stable Diffusion haciรฉndolo correr en hardware en cloud, un servicio clรกsico es AWS de Amazon. Ahora mismo estoy ahciendo pruebas con instancias EC2 para trabajar con diferentes algoritmos. Os contarรฉ quรฉ tal.

Otros servicios de pago

Hay muchos y cada vez salen mรกs, desde implemetnaciones en stock de fotos a webs que nos permiten integraciones con API. De momento me ha llamado la atenciรณn esta, aunque personalmente voy a utilizar los servicios gratuitos

Herramientas para prompt engineering

El prompt engineering es la parte referida ala generaciรณn del prompt, es decir la frase con la que alimentamos el modelo para que genere nuestras imรกgenes. No es un tema trivial y hay que saber muy bien como utilizarlo para obtener grandes resultados.

Una herramienta muy รบtil para aprender es Lexica, donde vemos imรกgenes y el prompt que han usado, el seed y el guidance scale.

Navegando por ahรญ aprenderรกs que tipo de elementos tienes que asignar al promp para obtener e tipo de resultado que buscas.

Deja un comentario