ComenzarEmpieza gratis

Edición personalizada de imágenes

La generación de imágenes mediante IA ya es bastante interesante, pero algunos modelos incluso admiten la edición personalizada de imágenes, una variante multimodal de la generación de imágenes que toma tanto una indicación de texto como una imagen de origen como entrada. Prueba a modificar este famoso autorretrato de Van Gogh para convertirlo en el personaje de dibujos animados Snoopy utilizando la herramienta « StableDiffusionControlNetPipeline » (Herramienta de cambio de estilo):

Famoso cuadro de Van Gogh

Nota: La inferencia en modelos de difusión puede llevar mucho tiempo, por lo que hemos precargado la imagen generada para ti. Ejecutar diferentes comandos no generará nuevas imágenes.

Se ha creado una versión de la imagen con el filtro Canny (canny_image). Las clases StableDiffusionControlNetPipeline y ControlNetModel se han importado desde la biblioteca diffusers. Se ha creado la lista de generadores (generator).

Este ejercicio forma parte del curso

Modelos multimodales con Hugging Face

Ver curso

Instrucciones del ejercicio

  • Carga el archivo « ControlNetModel » desde el punto de control « lllyasviel/sd-controlnet-canny ».
  • Carga el archivo StableDiffusionControlNetPipeline desde el punto de control runwayml/stable-diffusion-v1-5, pasando el controlnet proporcionado.
  • Ejecuta el proceso utilizando los archivos prompt, canny_image, negative_prompt y generator proporcionados.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Load a ControlNetModel from the pretrained checkpoint
controlnet = ____("____", torch_dtype=torch.float16)

# Load a pretrained StableDiffusionControlNetPipeline using the ControlNetModel
pipe = ____(
    "____", controlnet=____, torch_dtype=torch.float16
)
pipe = pipe.to("cuda")

prompt = ["Snoopy, best quality, extremely detailed"]

# Run the pipeline
output = pipe(
    ____,
    ____,
    negative_prompt=["monochrome, lowres, bad anatomy, worst quality, low quality"],
    generator=____,
    num_inference_steps=20,
)

plt.imshow(output.images[0])
plt.show()
Editar y ejecutar código