LoslegenKostenlos loslegen

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:

Berühmtes Gemälde von Van Gogh

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

Kurs anzeigen

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()
Code bearbeiten und ausführen