Què és Stable Diffusion, com instal·lar-lo i utilitzar-lo

imatges generades amb stable diffusion

Això és un guia per conèixer Stable Diffusion i ensenyar com pots utilitzar aquesta eina.

La imatge de dalt està generada amb Stable Diffusion. S'ha generat a partir del text següent (prompt)

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

Stable Diffusion és un model daprenentatge automàtic text-to-image. Un model de deep learning, d'intel·ligència artificial que ens permet generar imatges a partir de text que el fiquem com a input o entrada.

No és el primer model ni la primera eina que treuen aquest estil, ara mateix es parla molt de Dall-e 2, MidJourney, Image de Google, però sí que és el més important pel que representa. Stable Diffusion és un projecte Open Source, de manera que qualsevol pot utilitzar-lo i modificar-lo. A la seva versió 1.4 tenim un arxiu .cpxt de 4G on ve tot el model pre-entrenat, i això, és una autèntica revolució.

Tant és així que en tan sols 2 o 3 setmanes des del seu alliberament, trobem plugins per a PhotoShop, GIMP, Krita, WordPress, Blender, etc. pràcticament qualsevol eina que porti amb imatges està implementant Stable Diffusion, tant és així que fins i tot els competidors com Midjourney estan utilitzant-lo per millorar les seves eines. Però no només serveix per generar eines, sinó que nosaltres com a usuaris podem instal·lar-lo al nostre PC i executar-lo per obtenir les imatges en local.

Perquè, a més, que sigui Open Source no vol dir que sigui menys potent que els anteriors. És una autèntica meravella. Per mi ara mateix és la millor eina que podem utilitzar si volem generar les nostres imatges per a qualsevol projecte.

Formes d'instal·lar i utilitzar Stable Diffusion

Hi ha diferents maneres de fer-lo servir. Jo ara mateix recomano 2. Si el teu ordinador té la potència necessària, és a dir una gràfica d'uns 8Gb de RAM, llavors instal·la-t'ho al teu ordinador. Si el teu maquinari no és prou potent utilitza un Colab de Google, ara mateix us recomano el d'Altryne, perquè ve amb interfície gràfica i és més fàcil d'utilitzar.

Pas a detallar.

Colab d'Altryne

Aquesta és l'opció que et recomano si el teu ordinador no és prou potent (GPU amb 8Gb de RAM) o si vols provar-ho amb totes les seves funcionalitats sense haver d'estar instal·lant res.

La recomano perquè té una interfície gràfica molt còmoda amb moltes opcions per controlar les imatges i altres eines del model com l'image to image i l'upscale

utilitzem el Colab de Google creat per Altryne i Google Drive per desar els models i els resultats.

És tot gratis. Deixo un vídeo de tot el procés que com veuràs és molt senzill.

Instal·lar en PC

Per instal·lar-lo des de PC pots seguir les indicacions que donen al GitHub, https://github.com/CompVis/stable-diffusion o en la versió amb interfície gràfica que m'agrada molt més https://github.com/AUTOMATIC1111/stable-diffusion-webui ia windows i Linux pots fer servir aquest executable per instal·lar-lo Stable Diffusion UI v2

Ja saps que necessites una GPU potent d´uns 8Gb de RAM mínim perquè funcioni fluidament. Pots fer que tiri de CPU, però és molt més lent i també dependrà del processador que tinguis. Així que si el teu equip és antic hauràs de resignar-te a utilitzar els Colab o algun mètode de pagament per fer servir Stable Diffusion

Els avantatges de tenir-lo al teu PC és que és molt més ràpid utilitzar-lo, no has d'instal·lar ni configurar res, només fent-ho una vegada és suficient, a partir d'aquí tot és molt més ràpid.

A més una altra raó per la qual m'agrada molt és perquè puc integrar-ho en altres scripts i aprofitar les imatges generades ficant-les directament al workflow de les tasques el que és un punt molt important.

Colab oficial Diffusers

És molt similar al Colab que he recomanat a dalt, s'executa gairebé igual, NO cal pujar el model, però no té interfície gràfica i per modificar qualsevol opció cal anar canviant les opcions dels blocs de codi i modificant-los per ajustar-lo al que necessitem .

A més, no podem utilitzar l'opció d'image to image que és molt atractiva.

Pots accedir des d'aquest https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers/stable_diffusion.ipynb

Tenim filtre per a imatges adultes, el famós NSFW però pots desactivar-lo utilitzant aquest codi, és a dir creant una cel·la al document amb

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

Cal posar-ho just després de la cel·la

pipe = pipe.to("cuda")

i executar

Colab Stable Diffusion Infinity

En aquest Colab podem fer servir l'eina Infinity, que ens permet completar imatges. Crea contingut a partir de la imatge existent. Una autèntica passada.

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

Dreamboth amb Stable Diffusion

Aquesta és la implementació de Dreamboth de Google amb Stable Diffuision que permet a partir d'unes poques imatges d'una persona obtenir resultats personalitzats amb la cara que donem.

Una manera increïble de personalitzar les imatges

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

Altres Colabs

Ja saps com es treballa a Colab, ja que te'n deixo altres que vaig trobant pra que utilitzis el que més t'agrada. Fins i tot si vols pots fer-ne una còpia i modificar-ho al teu gust per tenir la teva pròpia versió

Des de la seva web oficial

Una manera senzilla d'utilitzar-lo, com si fas servir Dall-e 2 a OpenAI, però si fas servir la plataforma el servei és de pagament. https://stability.ai/

Des de HuggingFace

Una opció interessant per provar-ho ràpidament i treure'ns unes imatges, només per veure com funciona, pro falten moltes opcions que utilitzarem si ens posarem de debò amb això.

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

Utilitzant AWS o algun servei Cloud

Es pot utilitzar el model de Stable Diffusion fent-ho córrer en maquinari a cloud, un servei clàssic és AWS d'Amazon. Ara mateix estic fent proves amb instàncies EC2 per treballar amb diferents algorismes. Us explicaré què tal.

Altres serveis de pagament

N'hi ha molts i cada cop en surten més, des d'implementacions en estoc de fotos a webs que ens permeten integracions amb API. De moment m'ha cridat l'atenció aquesta, encara que personalment faré servir els serveis gratuïts

Eines per a prompt engineering

El prompt engineering és la part referida a la generació del prompt, és a dir la frase amb què alimentem el model perquè generi les nostres imatges. No és un tema trivial i cal saber molt bé com fer-lo servir per obtenir grans resultats.

Una eina molt útil per aprendre és Lexica, on veiem imatges i el prompt que han fet servir, el seed i el guidance scale.

Navegant per aquí aprendràs quin tipus d'elements has d'assignar al promp per obtenir el tipus de resultat que busques.

Deixa un comentari