Fundamentos de generaci贸n de im谩genes con texto

1

驴Qu茅 es text-to-Image en inteligencia artificial?

2

Atenci贸n: Estamos actualizando este curso

3

驴C贸mo funciona text-to-Image: difussion?

4

Exponentes de IA generativa: DALL路E, Midjourney y Stable Difussion

DALL路E 2

5

Generaci贸n de im谩genes con DALL路E

6

Atenci贸n: Estamos actualizando este curso

7

Restricciones y limitantes de DALL路E

8

Prompt tuning: luces, detalles, sombras y perspectivas

9

Prompt tuning en DALL路E: pr谩ctica

10

Prompt tuning: estilos y artistas

11

Prompt tuning en DALL路E: pr谩ctica de estilos y artistas

12

Uso de API de DALL路E con Python

Midjourney

13

Atenci贸n: Estamos actualizando este curso

14

Generaci贸n de im谩genes con Midjourney

15

Prompt tuning con Midjourney

16

Prompt tuning con Midjourney: pr谩ctica

17

Image-to-Image y Blend con Midjourney

Stable Diffusion

18

Stable Diffusion con Google Colab y DreamStudio

19

Atenci贸n: Estamos actualizando este curso

20

Instalaci贸n de AUTOMATIC 1111

21

AUTOMATIC 1111: interfaz web de Stable Diffusion

22

Prompt tuning con Stable Diffusion

23

Prompt tuning con Stable Diffusion: pr谩ctica

24

Qu茅 es Control Net de Stable Difussion y c贸mo utilizarlo.

Inpainting y outpainting

25

Atenci贸n: Estamos actualizando este curso

26

DALL路E: Inpainting

27

Stable Diffusion: Inpainting

28

Inpainting en Midjourney: Vary (Region)

29

DALL路E : Outpainting

30

Zoom Out: La nueva herramienta de Midjourney

31

Instalaci贸n de PaintHua

32

Stable Diffusion: Outpainting con PaintHua

Stable Diffusion features

33

Atenci贸n: Estamos actualizando este curso

34

Upscale: escalado de im谩genes

35

Image-to-Image

36

Depth-to-Image

37

驴C贸mo funciona DreamBooth?

38

DreamBooth: fine-tuning

39

Merge models: combinar modelos de difussion

Implicaciones 茅ticas y econ贸micas de im谩genes con inteligencia artificial

40

Atenci贸n: Estamos actualizando este curso

41

Sesgos y bias en modelos de generaci贸n de im谩genes

42

驴C贸mo afecta la generaci贸n de im谩genes con IA a otras profesiones?

43

Impacto de arte y dise帽o con IA: entrevista con Daniel Torres Burriel

44

Perspectiva de artistas y dise帽adoras: entrevista con Juan D谩vila

45

Perspectiva de artistas y dise帽adoras: entrevista con Amelia Am贸rtegui

Conclusi贸n

46

驴Qu茅 nos deparar谩 el futuro de la IA generativa?

47

Comparte tu proyecto y certif铆cate

Aprende Ingl茅s, Programaci贸n, AI, Ciberseguridad y mucho m谩s.

Antes: $249

Currency
$209
Suscr铆bete

Termina en:

4 D铆as
9 Hrs
52 Min
37 Seg

Stable Diffusion con Google Colab y DreamStudio

18/48
Recursos
Transcripci贸n

Aportes 39

Preguntas 11

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

Hola Chic@s 馃槃!

Tuve un ERROR generando la primera imagen OutOfMemoryError

Se soluciona recargando lo que se habia ejecutado y reduciendo el height y el width de la siguiente manera

image = pipe(prompt, height=512, width=512).images[0

Asi pude continuar con mi actividad hasta el final

DreamStudio
Practicando lo aprendido

Si al ejecutar el comando de estructura de Huggin Face les sale el error que adjunto en la imagen, solo es que carguen asi la importaci贸n de torch

import torch
import gc
gc.collect()
torch.cuda.empty_cache()

Y les va a correr sanos y salvos 馃槃

Anime style of Tokyo high school sakura walking in the sunrise, near a lake

width: 512

height: 512

steps: 49

sampler: automatic

seed: 3012571380

cfgScale: 7

model: Stable Diffusion v2.1

CLIP enabled: true

Que miedo xd

Me siento como ni帽o en dulcer铆a aprendiendo todo esto. Me sigue pareciendo impresionante la capacidad de hacer esto.

Si tienen un buen pc y quieren ejecutarlo localmente (o estan usando otro servicio apare de Colab), es posible que les salga este error *Found no NVIDIA driver on your system. Please check that you have an NVIDIA GPU and installed a driver from

Ahi van a tener que instalar el driver de NVIDIA, les dejo la soluci贸n.

Aunque con un corte de grabado bastante extra帽o, 3 modelos, cuatro plataformas, 3 cuadernos, y muchos cr茅ditos consumidos despu茅s, la vieja confiable Stable Diffusion tom贸 el estilo de Goya:

Stability AI es una organizaci贸n que desarrolla IA open source.

Lo podemos ejecutar de forma gratis, en google colab y en una app creada por stability AI - [DreamStudio], pero esta opcion consume creditos y despues es de pago.

Hugging Face es la mayor organizaci贸n de desarrollo de IA open source, muchas personas y orgs suben constantemente sus modelos, datasets

Ejecutar desde google colab:

  • entorno de ejecuci贸n 鈫 cambiar tipo de entorno de ejecucion 鈫 GPU

  • Instalaci贸n de transformers

    pip install --upgrade git+https://github.com/huggingface/diffusers.git transformers accelerate scipy
    
  • Importar librerias 鈫 import torch
    Es el que usa huggingface en sus backend

  • Estructura de Hugging Face
    Para inicializar el enviroment

    # sampler para eliminar el ruido y asi crear las imagenes
    from diffusers import StableDiffusionPipeline, DPMSolverMultistepScheduler
    model_id = "stabilityai/stable-diffusion-2-1"
    
    # Use the Euler scheduler here instead
    pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
    pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
    pipe = pipe.to("cuda")
    
  • Generando imagenes
    Por default itera 50 veces (en la iunet) sobre la imagen, eliminando el ruido.

    prompt = 'teutonic soldier in the future'
    image = pipe(prompt).images[0] # ejecutamos el prompt
    
    • En este paso podemos tener problemas con la memoria de googel colab, ya que es la opcion free y limitada. para eso tenemos 2 opciones, ademas de bajar la dimension y steps

      • Esto limpia la memoria
      import gc
      del variables
      gc.collect()
      
      • limpiamos el cache
      import torch
      torch.cuda.empty_cache()
      
  • Vemos ver la imagen generada con 鈫 image
    Podemo guardar esta imagen 鈫 image.save('perrito.png')

  • Tama帽o de imagen

    prompt = 'a photo of a dog with a hat'
    # ajustamos las dimenciones
    image = pipe(prompt, height=512, width=768).images[0]
    
  • Pasos de iteracion o steps
    podmeos cambiar que en lugar de hacer 50 por default, bajarlo a 10. Tener mas pasos garantiza mayor calidad de la imagen

    prompt = 'a photo of a dog with a hat'
    image = pipe(prompt, height=512, width=768, num_inference_steps= 10).images[0]
    
  • Guidance scale 鈫 que tanto va a interpretar el prompt, esto puede quitarle algo de creatividad al modelo, por lo general se deja en 7

    prompt = 'a photo of a dog with a hat'
    image = pipe(prompt, height=512, width=768, num_inference_steps= 30, guidance_scale=12).images[0]
    

Informaci贸n resumida de esta clase
#EstudiantesDePlatzi

  • Stable Difussion es un modelo gratis y libre

  • Se hacen 50 pasos por defecto para la eliminaci贸n de ruido al crear la imagen

  • El Prompt tambi茅n puede ser muy declarativo}

  • Dentro de Google Colab podemos hacer transformaciones a las im谩genes

  • Puedo definir el n煤mero de pasos que hace el modelo, entre m谩s pasos mejor la calidad pero m谩s tiempo toma

  • Con guidance scale puedo definir que tanto siga el modelo al pie de la letra al prompt

  • Podemos usar alguna interfaz para utilizar los modelos pero esta suele tener costo

Que realismo mas barbaro!!!

Blonde US girl in yellow raincoat, Canon 35mm, smiling, rain-soaked face, blurry background, realistic.

Stability AI es una organizaci贸n que desarrolla IA open source.

Lo podemos ejecutar de forma gratis, en google colab o en la app creada por stability AI - DreamStudio, pero esta opci贸n consume cr茅ditos y despu茅s es de pago.

Hugging Face es la mayor organizaci贸n de desarrollo de IA open source, muchas personas y orgs suben constantemente sus modelos y datasets.

  • Los spaces son las aplicaciones que crearon
  • el modelo que vamos a usar es 鈫 stabilityai/stable-diffusion-2-1
    • Use in diffusers: para implementar el modelo en python, desde esta libreria

      import os
      os.environ["HF_ENDPOINT"] = "https://huggingface.co"
      
      from diffusers import DiffusionPipeline
      
      pipeline = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-2-1")
      
    • o github:

      git lfs install
      git clone https://huggingface.co/stabilityai/stable-diffusion-2-1
      

Ejecutar desde google colab:

  • entorno de ejecuci贸n 鈫 cambiar tipo de entorno de ejecucion 鈫 GPU

  • Instalaci贸n de transformers

    pip install --upgrade git+https://github.com/huggingface/diffusers.git transformers accelerate scipy
    
  • Importar librerias 鈫 import torch
    Es el que usa huggingface en sus backend

  • Estructura de Hugging Face
    Para inicializar el enviroment

    # sampler para eliminar el ruido y asi crear las imagenes
    from diffusers import StableDiffusionPipeline, DPMSolverMultistepScheduler
    model_id = "stabilityai/stable-diffusion-2-1"
    
    # Use the Euler scheduler here instead
    pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
    pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
    pipe = pipe.to("cuda")
    
  • Generando imagenes
    Por default itera 50 veces (en la iunet) sobre la imagen, eliminando el ruido.

    prompt = 'teutonic soldier in the future'
    image = pipe(prompt).images[0] # ejecutamos el prompt
    
    • En este paso podemos tener problemas con la memoria de googel colab, ya que es la opcion free y limitada. para eso tenemos 2 opciones, ademas de bajar la dimension y steps

      • Esto limpia la memoria
      import gc
      del variables
      gc.collect()
      
      • limpiamos el cache
      import torch
      torch.cuda.empty_cache()
      
  • Vemos ver la imagen generada con 鈫 image
    Podemo guardar esta imagen 鈫 image.save('perrito.png')

  • Tama帽o de imagen

    prompt = 'a photo of a dog with a hat'
    # ajustamos las dimenciones
    image = pipe(prompt, height=512, width=768).images[0]
    
  • Pasos de iteracion o steps
    podmeos cambiar que en lugar de hacer 50 por default, bajarlo a 10. Tener mas pasos garantiza mayor calidad de la imagen

    prompt = 'a photo of a dog with a hat'
    image = pipe(prompt, height=512, width=768, num_inference_steps= 10).images[0]
    
  • Guidance scale 鈫 que tanto va a interpretar el prompt, esto puede quitarle algo de creatividad al modelo, por lo general se deja en 7

    prompt = 'a photo of a dog with a hat'
    image = pipe(prompt, height=512, width=768, num_inference_steps= 30, guidance_scale=12).images[0]
    

Hola que tal a todos, aqu铆 les dejo algunos demos que hice desde mi ordenador, solo que no me esta gustando mucho como quedan las im谩genes a veces quedan descuartizadas

la primera prueba la hice con 720 a 1080 de resoluci贸n no me tarde en nada en hacer el render menos de 1 minuto.
(https://static.platzi.com/media/user_upload/prueba1-cff047ad-2453-49e0-8c11-1eb0b2a65e46.jpg)

Aqui esta la imagen completa

La segunda prueba es 1080 x 1920

Completa

Sinceramente me gusto esto para hacer la portada de mi libro, pero le falta aun m谩s para desarrollar algo m谩s profesional espero mejorar esto en un futuro e ir a prendiendo m谩s.

En los recursos no hay enlaces, para que lo revisen鈥

Me pareci贸 encantador

Hasta ahora no logro tener buenos resultados con Stable Difussion

Este curso cada vez se pone mejor 馃弲馃殌馃挌馃敟

Para los que tienen problemas con la memori.

agreguen esta codigo al colab, para limpiar la memoria manualmente

import gc
del prompt
gc.collect()

Prompt: a dream of a photo of a black husky jumping in the snow

Hola! a mi me da este error:
鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹
OutOfMemoryError: CUDA out of memory. Tried to allocate 30.00 MiB (GPU 0; 14.75 GiB total capacity; 13.38 GiB
already allocated; 20.81 MiB free; 13.43 GiB reserved in total by PyTorch) If reserved memory is >> allocated
memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and
PYTORCH_CUDA_ALLOC_CONF

OutOfMemoryError                          Traceback (most recent call last)
<ipython-input-4-e743cdeba9cf> in <module>
      1 prompt = "a photo of an astronaut riding a horse on mars"
----> 2 image = pipe(prompt).images[0]

13 frames
/usr/local/lib/python3.8/dist-packages/diffusers/models/cross_attention.py in get_attention_scores(self, query, key, attention_mask)
    252 
    253         attention_probs = attention_scores.softmax(dim=-1)
--> 254         attention_probs = attention_probs.to(dtype)
    255 
    256         return attention_probs

OutOfMemoryError: CUDA out of memory. Tried to allocate 1.58 GiB (GPU 0; 14.75 GiB total capacity; 12.04 GiB already allocated; 1.39 GiB free; 12.10 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

Tuve unos problemas, con el modelo para ejecutarlo en mi plantilla, ya los resolv铆.
En la pagina de Hugging Face nos abajo del codigo aparece este mensaje por si les salta el mismo eeror que el mio, por si nos asignan una RAM con poca capacidad ya que estamos usando el Colab gratuito y no tenemos tanta potencia.


Se copia y pega debajo de donde pegamos el c贸digo de cuda, ejecutamos el block de c贸digo y volvemos a probar con el prompt.

Si nos sigue molestando tambi茅n hay algunas soluciones en Stack overflow que se ejecutan debajo de import torch.

Cualquiera de las dos alternativas sirve.


Ejecutamos nuevamente todos los bloques y hacemos el prompt.

Y huala!!Te sale un mono en una playa.

tuve que cambiar el tama帽o de la imagen a 400 x 400 para que funcionara , casi que no funciona , vamos bien :3

![](https://static.platzi.com/media/user_upload/Untitled-dab220dd-5a3d-4eb3-bfd3-e2c22e58e7b0.jpg)
Me quede sin GPU
![](https://static.platzi.com/media/user_upload/Screenshot%20at%20Mar%2029%2015-07-40-7c7991d7-9723-426a-896b-01b4d059d3b4.jpg)
El template no me abre porque el archivo es .ipynb
![](https://static.platzi.com/media/user_upload/image-6eb8f940-1431-423c-a159-37466f02179c.jpg) Me sale este error y como nadie de Platzi responde ac谩 me temo que hasta ac谩 llegu茅. Que descepci贸n Platzi.
![](https://static.platzi.com/media/user_upload/image-c694c7a6-321f-4aef-85cb-91d7b60728d1.jpg) Me sale este error y como nadie de Platzi responde ac谩 me temo que hasta ac谩 llegu茅. Que descepci贸n Platzi.
Buenas equipo me sale error Como puedo solucionar esto? ![](https://static.platzi.com/media/user_upload/image-a1e1a078-3b4b-4c83-86e4-c175f2ecda97.jpg)
![](https://static.platzi.com/media/user_upload/download-ccaea1ff-517c-4349-85a3-9b3cf74550eb.jpg)
Buenas equipo, me sale esta imagen con errores? Alguna idea o solucion a esto? ![](https://static.platzi.com/media/user_upload/image-ba1f3171-ceb9-4941-a62e-d4c31fb5b22f.jpg)
Hace ya meses que termine de pagar Platzi para un a帽o, pero siempre he tenido el problema de que es muy pesada la plataforma, en mi ciudad no es muy rapido el internet, y pues los videos de platzi no me cargan, pero los de YouTube si me cargan en su maxima calidad. Admiro mucho Platzi, pero es se enfocan tanto en la seguridad de sus videos que se olvidad del rendimiento
![](https://static.platzi.com/media/user_upload/rana%20ninja-28bdd6d3-abe7-4d2f-aa61-88e2c12c399b.jpg)rompt = 'a frog with a scepter'image = pipe(prompt, height=512, width=768, num\_inference\_steps=70, guidance\_scale=5).images\[0]

Excelente clase, gracias. Repasamos codificaci贸n, aprendemos modelos de difusi贸n y transformers, etc. de forma amena y divertida.

Informaci贸n resumida de esta clase
#EstudiantesDePlatzi

  • Hugging face es la mayor comunidad de IA

  • Es muy f谩cil descargar este modelo de GitHub

  • 50 pasos son los que vienen por defecto en este modelo, esto lo puedo modificar

  • Parece que tener mayor cantidad de pasos genera im谩genes de mayor calidad

  • En el parametros guidance_scale debemos buscar un punto intermedio

Hola profe!! pero como llegas hasta alli, donde esta la clase de huggin face. estoy muy perdido.