Začněte nyníZačněte zdarma

Vlastní úprava obrázků

Generování obrázků pomocí AI je samo o sobě skvělé, ale některé modely podporují i vlastní úpravu obrázků – multimodální variantu generování, která jako vstup přijímá textový prompt i zdrojový obrázek. Zkus upravit tento slavný autoportrét Van Gogha tak, aby zobrazoval kreslenou postavičku Snoopyho, a to pomocí StableDiffusionControlNetPipeline:

Famous Van Gogh painting

Poznámka: Inference na difuzních modelech může trvat dlouho, proto jsme pro tebe vygenerovaný obrázek předem načetli. Spuštění jiných promptů nové obrázky nevygeneruje.

Verze obrázku zpracovaná Canny filtrem je již připravena (canny_image). Třídy StableDiffusionControlNetPipeline a ControlNetModel jsou naimportovány z knihovny diffusers. Seznam generátorů (generator) je také připraven.

Toto cvičení je součástí kurzu

Multi-Modal Models with Hugging Face

Zobrazit kurz

Pokyny k cvičení

  • Načti ControlNetModel z checkpointu lllyasviel/sd-controlnet-canny.
  • Načti StableDiffusionControlNetPipeline z checkpointu runwayml/stable-diffusion-v1-5 a předej mu připravený controlnet.
  • Spusť pipeline s použitím prompt, canny_image a připravených parametrů negative_prompt a generator.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

## NOTE: no imports are required for this exercise
# 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()
Upravit a spustit kód