Cette semaine, le nouveau modèle de génération d’image ultra-rapide de Stability AI a fait coulé pas mal d’encre. Le bien nommé SDXL Turbo est un modèle dérivé de Stable Diffusion XL et optimisé pour générer des images en une seule étape au lieu des 30 à 50 nécessaires avec les précèdent modèles.
Si vous ne connaissez pas encore Fooocus ou ne l’avez pas encore installer, vous pouvez consulter notre guide pour démarrer avec cette interface graphique qui allie simplicité et efficacité.
SDXL-Lightning est une alternative à SDXL-Turbo qui permet également de créer des images en 4 étapes (ou moins). Un de ses avantages est qu’il est disponible sous forme de LoRA qui permet d’appliquer la technique avec tous les modèles compatible SDXL.
Cette technique est désormais disponible dès l’installation de Fooocus en choisissant le mode de performance Lightning dans la configuration avancée.
Comment utiliser SDXL Turbo avec Fooocus ?
Je décris ci-dessous comment utiliser SDXL Turbo dans Fooocus en configurant tout manuellement.
Une technique plus simple consiste à créer un preset, un fichier de préréglages pour lancer Fooocus et l’utiliser directement avec toute la configuration effectué. Je détaille cette technique plus bas dans l’article.
1. Télécharger et installer le modèle
Commencez par télécharger le fichier .safetensor du modèle sur la page officielle Hugging Face ou depuis Civitai.
Placer ensuite le fichier dans le repertoire
/Fooocus/models/checkpoints
Si vous utilisez Fooocus depuis Google Colab vous pouvez directement y télécharger le modèle en modifiant le code de lancement avant de l’exécuter :
!pip install pygit2==1.12.2
%cd /content
!git clone https://github.com/lllyasviel/Fooocus.git
%cd /content/Fooocus/models/checkpoints
!wget https://huggingface.co/stabilityai/sdxl-turbo/resolve/main/sd_xl_turbo_1.0_fp16.safetensors
%cd /content/Fooocus/
!python entry_with_update.py --share
2. Configurer la génération
Suivez ces étapes pour configurer Fooocus pour SDXL Turbo
- Cochez la case advanced sous le prompt pour ouvrir les paramètres.
- Ouvrez l’onglet Model et sélectionnez
sd_xl_turbo_1.0_fp16.safetensors
comme Base Model et None en Refiner.
- Ouvrez ensuite l’onglet Advanced et passez la Guidance Scale à 1
- Cliquez ensuite sur la case Developper Debug Mode pour afficher les paramètres supplémentaires.
- Passez Forced Overwrite of Sampling Step à 1.
- Passez Forced Overwrite of Generating Width et Forced Overwrite of Generating Height à 512
3. Générer l’image
Foocus est maintenant prêt à créer des images à l’aide de SDXL Turbo.
Il vous reste a écrire un prompt, par exemple “a tiny super fast robot running” à cliquer sur Generate pour voir apparaitre vos images en quelques secondes.
Vous pouvez également ouvrir l’onglet Styles pour utiliser l’un ou l’autres des style prédéfinis proposés par Fooocus. Ou vous rendez dans Settings pour augmenter le nombre d’image générées en une fois (Image Number)
Utiliser un preset
Reconfigurer manuellement Fooocus comme nous venons de la faire chaque fois que vous voulez utiliser SDXL Turbo est quand même un peu fastidieux.
Heureusement, Fooocus permet de créer des presets : des préréglages pour l’utilisation de modèles ou de préférences spécifiques. Ces presets sont des mini-fichiers de configuration qui se chargent lorsqu'ils sont attachés à un nouveau fichier "run.bat".
Voici comment créer utiliser un tel préréglage facile pour SDXL Turbo :
Créer le preset
Pour notre un preset, nous ajouterons un fichier
run.bat
supplémentaire qui pourra être utilisé pour démarrer Fooocus avec les paramètres adaptés. Pour créer un preset, naviguez jusqu'au dossier
presets
dans le répertoire de Focus. Vous y trouverez tous les fichiers de presets. Faites une copie d'un des fichiers de preset existants et renommez-le avec le nom de votre choix (par exemple, turbo.json
). Cliquez avec le bouton droit de la souris sur le nouveau fichier et ouvrez-le avec un éditeur de texte tel que Notepad.Dans le fichier de préréglage nouvellement créé, vous pouvez personnaliser les paramètres de votre préréglage spécifique : nom du modèle, échelle de guidage, échantillonneur, résolution,… Pour faire simple, vous pouvez simplement copier les paramètre repris ci-dessous et coller le pour remplacer le contenu du fichier que vous venez de créer.
Voir les paramètres à utiliser
{
"default_model": "sd_xl_turbo_1.0_fp16.safetensors",
"default_refiner": "None",
"default_refiner_switch": 0.5,
"default_loras": [
[
"None",
1.0
],
[
"None",
1.0
],
[
"None",
1.0
],
[
"None",
1.0
],
[
"None",
1.0
]
],
"default_cfg_scale": 1.0,
"default_sample_sharpness": 3.0,
"default_sampler": "dpmpp_sde",
"default_scheduler": "karras",
"default_performance": "Speed",
"default_prompt": "",
"default_prompt_negative": "",
"default_styles": [
"Fooocus V2",
"Fooocus Enhance",
"Fooocus Sharp"
],
"default_aspect_ratio": "512*512",
"default_overwrite_step": 1,
"checkpoint_downloads": {
"sd_xl_turbo_1.0_fp16.safetensors": "https://huggingface.co/stabilityai/sdxl-turbo/resolve/main/sd_xl_turbo_1.0_fp16.safetensors?download=true"
},
"embeddings_downloads": {},
"lora_downloads": {}
}
Enregistrez ensuite le fichier pour sauvegarder ces paramètres.
Le fichier
turbo.json
reprenant tous ces paramètres peut également être télécharger en bas de l’article sur les presets. Créer un raccourcis .bat
Naviguez jusqu'au dossier Fooocus où se trouvent le fichier
run.bat
. Faites une copie du fichier et renommez-le pour refléter votre préréglage (run_turbo.bat
).Cliquez avec le bouton droit de la souris sur le fichier nouvellement creéé et ouvrez-le avec un éditeur de texte. Dans l'éditeur de texte, modifiez la ligne avec
entry_with_update.py
pour y ajouter le paramètre —-preset turbo
:.\python_embeded\python.exe -s Fooocus\entry_with_update.py --preset turbo
pause
Enregistrez le fichier et fermez l'éditeur de texte. Maintenant, lorsque vous lancez le fichier
run_turbo.bat
, Fooocus se chargera avec les paramètres de votre preset, prêt à générer des images avec SDXL Turbo.