Individuelle Bildbearbeitung
Die KI-Bildgenerierung ist schon ziemlich cool, aber einige Modelle unterstützen sogar die benutzerdefinierte Bildbearbeitung, eine multimodale Variante der Bildgenerierung, die sowohl eine Textvorlage als auch eine Quellbild-Eingabe verwendet. Probier mal, dieses berühmte Selbstporträt von Van Gogh mit dem Cartoon-Charakter Snoopy zu verändern, indem du den „ StableDiffusionControlNetPipeline “ benutzt:

Hinweis: Die Schlussfolgerungen zu Diffusionsmodellen können eine Weile dauern, deshalb haben wir das erstellte Bild schon mal für dich geladen. Das Ausführen verschiedener Eingabeaufforderungen erzeugt keine neuen Bilder.
Die Canny-Filter-Version des Bildes wurde für dich erstellt (canny_image). Die Klassen „ StableDiffusionControlNetPipeline “ und „ ControlNetModel “ wurden aus der Diffusor-Bibliothek importiert. Die Generatorliste (generator) ist fertig.
Diese Übung ist Teil des Kurses
Multimodale Modelle mit Hugging Face
Anleitung zur Übung
- Lade die Datei „
ControlNetModel” vom Speicherort „lllyasviel/sd-controlnet-canny” auf. - Lade die Datei „
StableDiffusionControlNetPipeline” vom Speicherort „runwayml/stable-diffusion-v1-5” und gib dabei den angegebenen Speicherort „controlnet” an. - Führ die Pipeline mit den mitgelieferten Dateien „
prompt“, „canny_image“, „negative_prompt“ und „generator“ aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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()