Recherche de site Web

Diffusion stable simplifiée : démarrez avec les gouttelettes GPU


Introduction

Stable Diffusion est un outil d'IA puissant pour générer des images, mais il peut être gourmand en ressources. L'exécuter sur un Droplet GPU DigitalOcean vous offre la puissance de calcul dont vous avez besoin. Dans ce guide, nous apprendrons comment le configurer à l'aide de l'interface Web Stable Diffusion d'AUTOMATIC1111. Nous avons simplifié les choses, alors même si vous n'êtes pas un expert technique, ne vous inquiétez pas, suivez simplement !

Conditions préalables

  • Un compte DigitalOcean Cloud.
  • Une gouttelette GPU. Les Droplets GPU sont actuellement en disponibilité anticipée, mais vous pouvez demander l'accès ici.
  • Familiarité avec la ligne de commande Linux. Pour en savoir plus, vous pouvez consulter ce guide sur l'introduction à la ligne de commande Linux.
  • Git et Python 3.10 installés.

Pourquoi utiliser un droplet GPU ?

Stable Diffusion peut techniquement fonctionner sur un processeur, mais il est lent. L'exécuter sur un GPU améliore considérablement les performances : les Droplets GPU de DigitalOcean sont des NVIDIA H100 que vous pouvez faire tourner à la demande. Essayez-les en lançant un Droplet GPU dès aujourd'hui. Notez que ceux-ci sont actuellement en disponibilité anticipée et seront bientôt disponibles pour tout le monde !

Étape 1 : Configurer le droplet GPU

  1. Créer un droplet GPU
    Connectez-vous à votre compte DigitalOcean, créez un nouveau Droplet et choisissez un forfait incluant un GPU. Un plan GPU de base devrait suffire pour la génération d’images.

  2. Ajouter un nouvel utilisateur (recommandé)
    Au lieu d’utiliser l’utilisateur root pour tout, il est préférable de créer un nouvel utilisateur pour des raisons de sécurité :

adduser do-shark
usermod -aG sudo do-shark
su do-shark
cd ~/

Étape 2-Installer les dépendances

Une fois connecté, mettez à jour le Droplet et installez les outils nécessaires :

sudo apt update
sudo apt install -y wget git python3 python3-venv

Étape 3 : cloner le référentiel de diffusion stable

Clonez ce dépôt depuis GitHub :

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui

Étape 4-Configurer et exécuter une diffusion stable

Configurer un environnement virtuel Python

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Reconstruire xFormers avec le support CUDA

Pour profiter de l'accélération GPU, vous devrez reconstruire les xFormers avec la prise en charge de CUDA. Cette étape garantit que votre environnement est optimisé pour les performances :

pip uninstall xformers
pip install xformers --extra-index-url https://download.pytorch.org/whl/nightly/cu118

Facultatif : surveillez l'utilisation du GPU avec gpustat

Pour surveiller l'utilisation de votre GPU lors de l'exécution de Stable Diffusion, vous pouvez utiliser un outil appelé gpustat. Cet outil vous donne des informations en temps réel sur l'utilisation de votre GPU, notamment la mémoire, la température et la charge actuelle.

Pour installer et utiliser gpustat, procédez comme suit :

Installez gpustat en utilisant pip :

pip install gpustat

Après l'installation, vous pouvez surveiller l'utilisation de votre GPU en exécutant la commande suivante dans un autre terminal :

gpustat --color -i 1

Facultatif : Installation d'un modèle à partir d'un lien direct

Si vous disposez d'un lien de téléchargement de modèle, vous pouvez facilement l'installer à l'aide de la commande wget. Voici comment télécharger et installer le modèle SDXL :

wget -O models/Stable-diffusion/stable-diffusion-xl.safetensors "https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors"

Cette commande télécharge le modèle SDXL et l'enregistre dans le répertoire models/Stable-diffusion/ avec le nom de fichier stable-diffusion-xl.safetensors. Une fois le téléchargement terminé, le modèle sera prêt à être utilisé dans votre configuration Stable Diffusion.

Exécutez l'interface Web

Il est maintenant temps de lancer l’interface Web de diffusion stable. Exécutez la commande suivante pour démarrer l'interface avec le partage Gradio, xFormers pour l'accélération GPU, activer l'accès aux extensions non sécurisé et l'accès API activé :

./webui.sh --share --xformers --api --enable-insecure-extension-access

Une fois la WebUI lancée, ouvrez votre navigateur et accédez à https://[HASHING].gradio.live pour accéder à l'interface. Notez que ce lien expirera dans 72 heures.

Installation d'un modèle à l'aide de l'extension de navigateur CivitAI

Après avoir exécuté le script web-ui.sh, vous pouvez suivre ces étapes pour installer un modèle via l'extension du navigateur CivitAI :

  1. Accédez à l'onglet « Extensions » dans l'interface Web.

  2. Accédez au sous-onglet « Disponible ».

  3. Cliquez sur le bouton orange intitulé « Charger depuis » pour charger les extensions disponibles à partir du référentiel.

  4. Dans la barre de recherche, tapez « CivitAI Browser+ » et cliquez sur le bouton Installer.

  5. Une fois l’installation terminée, rendez-vous dans le sous-onglet « Installé ».

  6. Cliquez sur Appliquer et redémarrer l'interface utilisateur pour activer l'extension.

  7. Après avoir cliqué sur le bouton de redémarrage, votre console peut sembler s'arrêter au « Rechargement » en raison de la relance. Vous devrez utiliser le nouveau lien https://[HASHING].gradio.live généré dans la sortie de la console du terminal.

Une fois le WebUI redémarré, vous verrez un nouvel onglet appelé « CivitAI Browser+ ». Cette extension vous permet de rechercher et d'installer facilement des modèles directement depuis CivitAI.

Pour cette démo, recherchons « Western Animation » dans l’onglet CivitAI Browser+ et installons-le. Choisissez celui avec la vignette Superman. Nous utiliserons ce modèle pour la prochaine partie du cours intensif afin de générer des images à l'aide du texte vers l'image (txt2img).

Votre premier art Gen-AI : didacticiel d'écriture d'invite de diffusion stable

Stable Diffusion est un puissant outil de génération d'images d'IA qui utilise des invites positives et négatives pour guider l'IA dans la création d'images spécifiques. Ce didacticiel vous montrera comment rédiger des invites liées à la vie marine et comment utiliser des invites négatives pour améliorer la qualité de vos images dans Stable Diffusion WebUI.

Comment écrire des invites

Les invites sont au cœur de la génération d’images. Les invites positives indiquent à l'IA ce que vous voulez voir, tandis que les invites négatives aident à exclure les éléments indésirables. Voici des exemples liés à la vie marine pour vous montrer comment rédiger des invites.

1. Rédiger des invites positives

Lorsque vous rédigez des invites, utilisez l'anglais pour décrire ce que vous souhaitez générer. Vous pouvez utiliser des phrases simples ou des mots-clés séparés par des virgules pour décrire les fonctionnalités. Voici quelques exemples liés à la vie marine :

  1. Générer une tortue de mer nageant au-dessus d'un récif de corail :

    a sea turtle swimming over a coral reef
    

    Ou, simplifié sous forme de mots-clés :

    sea turtle, swimming, coral reef, ocean
    

  2. Générez un banc de poissons colorés :

    colorful fish, swimming in the ocean, school of fish, tropical fish
    

2. Utiliser des invites négatives

Les invites négatives sont utiles pour exclure les éléments indésirables, en particulier lors de la génération de plusieurs images. Voici quelques invites négatives courantes pour éviter des résultats de mauvaise qualité ou incorrects :

lowres, bad anatomy, blurry, text, error, cropped, worst quality, jpeg artifacts, watermark, signature, low quality, worst quality

Vous pouvez également ajouter des éléments spécifiques que vous ne souhaitez pas dans vos images de vie marine, comme des personnages humains ou des bâtiments :

nsfw, weapon, blood, human, car, city, building

Comment utiliser txt2image en diffusion stable

La fonctionnalité txt2image de Stable Diffusion WebUI vous permet de générer des images en fonction des invites que vous écrivez. Voici comment l’utiliser :

  1. Saisir les invites positives et négatives : Dans la zone de texte de gauche, saisissez les invites liées à la vie marine, telles que :

    colorful fish, coral reef, underwater, ocean, vibrant colors
    

    Pour les invites négatives, excluez les éléments indésirables :

    lowres, bad anatomy, text, blurry, weapon, human
    
  2. Sélectionner la méthode d'échantillonnage : Essayez « DPM++ 2M SDE Heun » ou « Euler a » pour les méthodes d'échantillonnage.

  3. Définir les dimensions et les étapes de l'image : Définissez la largeur et la hauteur sur 1024x512 et les pas d'échantillonnage sur 30. Vous pouvez également sélectionner « Embauches. fix ” avec la valeur par défaut pour améliorer les détails de l'image, ce qui peut aider même avec la vie marine.

  4. Générer l'image : Cliquez sur le bouton « Générer » en haut à droite pour commencer à générer l'image. Une fois terminé, vous pouvez enregistrer ou ajuster l'image selon vos besoins.

Syntaxe et extensions communes

Stable Diffusion WebUI fournit différentes syntaxes pour améliorer la précision de la génération d'images. En voici quelques-uns utiles :

  • Attention/Emphase : utilisez les parenthèses ( ) pour souligner certains éléments dans l'invite. Par exemple, pour mettre en valeur la couleur d’un dauphin :

    dolphin, ((blue)), ocean, swimming
    

  • Changement d'invite : vous pouvez changer d'invite pendant le processus de génération avec cette syntaxe :

    [shark : whale : 10] swimming in the ocean
    

Exemples d'invites

  1. Générer une pieuvre sous l'eau :

    octopus, underwater, ocean, coral reef, vibrant colors
    

    Invite négative :

    lowres, blurry, bad anatomy, text, human
    

  2. Générer un dauphin sautant hors de l'eau :

    dolphin, jumping out of the water, ocean, sunset, splash, realistic
    

    Invite négative :

    lowres, bad anatomy, blurry, text, car, building
    

  3. Générer un requin nageant en eau profonde :

    shark, swimming, deep ocean, dark blue water, scary, realistic
    

    Invite négative :

    lowres, bad anatomy, blurry, text, human, building
    

Conclusion

Ce n'est que le début de votre voyage dans la création d'art Gen-AI avec Stable Diffusion sur les gouttelettes GPU de DigitalOcean. Dans la série à venir, nous approfondirons l’exécution d’une API de diffusion stable dockerisée avec GPU DigitalOcean Kubernetes et explorerons des cas d’utilisation réels aux côtés d’autres produits DigitalOcean. Restez à l’écoute pour des informations et des didacticiels plus passionnants !

Articles connexes: