Aangepaste bewerkingen op afbeeldingen
AI-afbeeldingen genereren is al behoorlijk gaaf, maar sommige modellen ondersteunen zelfs aangepaste beeldbewerking: een multimodale variant van beeldgeneratie die zowel een tekstprompt als een bronafbeelding gebruikt. Probeer dit beroemde zelfportret van Van Gogh aan te passen zodat het de tekenfilmfiguur Snoopy wordt met de StableDiffusionControlNetPipeline:

Opmerking: Inferentie op diffusion-modellen kan lang duren, dus we hebben de gegenereerde afbeelding alvast voor je geladen. Het uitvoeren van andere prompts levert geen nieuwe afbeeldingen op.
De Canny-filterversie van de afbeelding is al voor je gemaakt (canny_image). De klassen StableDiffusionControlNetPipeline en ControlNetModel zijn geïmporteerd uit de diffusers-bibliotheek. De generatorlijst (generator) is aangemaakt.
Deze oefening maakt deel uit van de cursus
Multi-modale modellen met Hugging Face
Oefeninstructies
- Laad het
ControlNetModelvanaf delllyasviel/sd-controlnet-cannycheckpoint. - Laad de
StableDiffusionControlNetPipelinevanaf derunwayml/stable-diffusion-v1-5checkpoint en geef de meegeleverdecontrolnetdoor. - Voer de pipeline uit met de
prompt,canny_image, en de meegeleverdenegative_promptengenerator.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
## 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()