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):

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
Instrucciones del ejercicio
- Carga el archivo «
ControlNetModel» desde el punto de control «lllyasviel/sd-controlnet-canny». - Carga el archivo
StableDiffusionControlNetPipelinedesde el punto de controlrunwayml/stable-diffusion-v1-5, pasando elcontrolnetproporcionado. - Ejecuta el proceso utilizando los archivos
prompt,canny_image,negative_promptygeneratorproporcionados.
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()