Comment créer des styles personnalisés avec Stable Diffusion ?

Ajoutez facilement des styles personnalisés à Stable Diffusion pour générer des images illustratives, réalistes, logo etc...
Dernièrement je vous parlais de Stable Diffusion et de son installation sur Radeon RX 6800 XT Rocm dans cet article .
Pour rappel, Stable Diffusion est un model de génération d'image. Mais vous remarquerez qu'avec cet interface, on est rapidement limité.
Comment faire pour ajouter des custom prompt style afin de préciser si l'on souhaite une illustration, du photoréaliste, etc ?
C'est ce que nous allons voir dans cet article.
Créer des styles de rendu personnalisés
Premièrement, rendez-vous dans votre dossier stable-diffusion-webui, on va créer un fichier styles.csv dans lequel on va mettre le contenu suivant:
Name,Prompt
Illustration,"masterpiece, best quality, digital painting, fantasy art, vibrant colors, detailed"
Photorealism,"RAW photo, 35mm lens, DSLR, shallow depth of field, natural lighting, photorealistic"
Logo,"flat vector logo, centered, minimalist, white background, simple"
Cyberpunk,"cyberpunk neon city at night, rain, science fiction, blade runner, ultra detailed"
Anime,"anime style, vibrant, clean lines, studio ghibli"
Une fois que vous avez fait cela, relancez votre Stable Diffusion.
Sur l'interface et cliquez sur la définition des styles.
Maintenant on va rafraîchir la liste en cliquant sur l'icône d'actualisation:
Une fois que c'est fait, vous devriez avoir une liste de styles à jour:
Vous pouvez maintenant facilement passer d'un style à l'autre ou éditer au besoin:
Les limites
Cependant attention, vous allez tout de même faire face à quelques limitations.
Si votre système tourne sur un seul GPU et que celui ci est déjà utilisé par votre système pour afficher sur l'écran, vous ne pourrez pas aller jusqu'au maximum de VRAM disponible.
Vous allez devoir tourner sur des résolutions assez basses: 512x512 car dans le cas contraire, si l'on compte une partie de VRAM utilisée par le système, vous allez atteindre un Out of Memory:
Il y a des solutions de contournement pour ce problème:
- passer par un petit GPU pour le display
- utiliser plusieurs GPU pour le render
- opter pour un modèle plus haut de gamme avec plus de VRAM
Edit: J'ai bien vérifié l'activation de Resizable Bar et de Above 4G Decode dans mon bios, j'ai rebooté la machine et lancé Automatic1111 avec ./webui.sh sans extra arg et j'ai réussi à render des photos de 1024*1024.
Bon cela utilise 95% de la VRAM sur 16go, mais au moins, ça passe !

Alexandre P.
Développeur passionné depuis plus de 20 ans, j'ai une appétence particulière pour les défis techniques et changer de technologie ne me fait pas froid aux yeux.
Poursuivre la lecture dans la rubrique Projets