Ludovic Frank - Développeur indépendant

Installer Stable Diffusion avec Flux ai en local

ionicons-v5-k Ludovic Frank 2 sept. 2024
627 lectures Niveau : Débutant confirmé

Coucou par ici 🙂,

Merci d'avoir cliqué sur cet article, j'espère qu'il vous plaira 😉.

Ça y est, c'est la rentrée, alors heureux ? On se remet à bosser ? Comment ça “vous êtes encore sur la plage” ? Ça ne va pas être possible ça 😛.

Pour cet article, nous allons parler d’intelligence artificielle... eh oui ! enfin.

Pourquoi cet article

Comme toujours, un brin d'explication de l'aventure qui nous mène a cet article, une petite mise en contexte

Un article sur l'IA maintenant ?

Bah alors, Ludo, tu dormais ?

Il est vrai que sur le blog, je ne vous ai pas encore vraiment parlé d'IA, il y a bien un article sur la gestion des prompts GPT avec macOS, mais on a jamais vraiment parler d'IA, alors, j'étais dans une grotte ces trois dernières années ?

Et bien non, pas du tout... en fait j'ai passé beaucoup de temps (et de longues nuits) à jouer avec les LLMs, les modèles de génération d'image ... etc.

Sauf que... je ne trouvais rien de vraiment intéressant à vous raconter, il y a déjà plein d'articles sur la toile qui traitent de tout ça : ChatGPT, Midjourney ... etc.

Donc, je n'ai rien écrit à ce sujet, et, je me suis focus sur des trucs plus exotiques, avant les vacances on parlait vachette ! C'est plus marrant, non ? 😁.

Tout part d'un tweet un dimanche après-midi

Nous sommes fin août, le dimanche 25 août 2024, pour être plus précis... En ce qui me concerne je suis revenu de vacances, mais on est dans une période creuse, les clients sont encore en vacances... bref rien ne bouge et je m'ennuie un peu, j'ai envie de rebosser sur des trucs de fou moi 😮.

J'écris donc ce Tweet :

Je tweet "On se fait une belote ?", en gros ça veut juste dire "on s'ennuie grave, on fait un truc ?". Avant de publier, je me dis : "Tiens, si j'ajoutais une image avec un prompt éclaté au sol sur Midjourney ?".

Je le fais et je ne regarde même pas le résultat, je tweet direct, et, vous avez vu le résultat : éclaté au sol. Donc je réponds directement (à mon propre tweet, oui je suis comme ça) "Tiens, Midjoruney a fait des dingueries 😮".

Ça a eu pour effet de créer une conversation avec un mec super sympa, j'ai nommé Benjamin Cherion.

Vous pouvez suivre la conversation ici.

Il me demande, si ça n’était pas mieux avec Flux, j'avais entendu que de noms, mais je me souvenais que Grok, le "chatGPT" d'Elon Musk utilise Flux pour généré des images ...

Je teste, et en effet, le résultat est incroyable !

Oui, oui, je n'ai rien changé à mon prompt éclaté au sol, je suis juste passé de Midjourney à Flux...

Me voilà à parcourir le web pour voir “c'est quoi Flux” ? Flux, c'est un modèle utilisable avec Stable Diffusion.... mais ... Stable Diffusion je connais, il y quelques mois, un ami, le meilleur cochon m'en avait parlé. À ce moment-là j'en avais pris note, mais je n'avais pas eu le temps de tester...

Tout en continuant la conversation avec Benjamin, notamment sur d’éventuelles APIs qui donnerait accès à Flux je commence à fouiller sur le net, je veux en savoir plus.

(Ah, bah ça y est je m'ennuie plus, j'ai de quoi occuper mon dimanche après-midi, du coup 😛)

Flux AI qu'est ce que c'est ?

Flux AI, c’est un modèle d’intelligence artificielle de génération d'image, il est développé par “Black Forest Labs", et est open source (du moins la version "dev” et la version "schnell"). Il est très performant (non, mais vraiment).

Le fait que le modèle soit Open Source, ça veut entre autres dire que vous pouvez le faire tourner sur votre propre matériel, si si, je vous jure vous allez pouvoir rentabiliser votre RTX 4090 😛.

Installer Flux AI avec Stable Diffusion

Avant toute chose, cette partie est grandement inspirée de cet article : installer Flux en moins de 10 minutes.

Il a fait un très gros travail de recherche et m'a bien simplifié la vie...

Sur quelle plateforme va-t-on installer tout ça ?

En ce qui me concerne, je l'ai installé sur deux plateformes différentes, une avec succès et l'autre ... moins.

  • Un PC qui tourne sous Windows 11 avec une RTX 2070 (avec 8 go de mémoire vidéo).
  • Un Macbook Pro M3 de 2023, avec 36 go de mémoire unifiée.

C'est pourquoi, dans les captures d'écran de cet article, vous verrez parfois du macOS et parfois du Windows, je n’ai pas de machine avec une carte graphique et Linux sous la main, désolé...

Installation de StabilityMatrix

StabilityMatrix est un super outil, il permet d'installer ce qu'il faut pour utiliser Stable Diffusion sans prise de tête.

Pour commencer, rendez-vous sur le GitHub du projet, plus bas sur la page, téléchargez le binaire qui correspond à votre plateforme.

Sur macOS, c'est une installation classique, il suffit de glisser le ".app" dans votre dossier /Applications.

Pour Windows, j'attire votre attention sur le fait qu'il est préférable de dézipper le ".exe” et le mettre dans un dossier ou vous ne le bougerez plus, ça vous simplifiera la vie par la suite.

Premier lancement de StabilityMatrix

Allez, c’est parti, lancez l'application et la première fenêtre sera celle-ci :

Ce premier écran vous demande de cocher que vous êtes "ok" avec les conditions d'utilisation et vérifie si votre matériel est compatible... Sur la capture il détecte un SoC Apple Silicon M3 Pro, je confirme, c'est bien ça 😁.

Attention : Cette étape est importante pour la suite, on va avoir besoin d'ajouter des choses dans les "data", de StabilityMatrix, donc je vous conseille d'activer le mode portable. Comme ça vous avez le dossier "Data" à côté du binaire de "StabilityMatrix".

C'est d'ailleurs pour cette raison que sur Windows, je vous ai dit de bien dézipper l'exécutable avant de le lancer 😁.

Hop, hop, hop, on s'arrête ici, et on installe "Stable Diffusion WebUI Forge", attention à bien prendre la version Forge....

Pendant le processus d'installation StabilityMatrix, vous proposez d'installer des modèles en plus, vous pouvez y jeter un œil, en ce qui me concerne je n’en ai pas installé d'autres, je voulais tester Flux, Flux et Flux.

Là, il faut juste attendre... ça va télécharger et installer tout ce qu'il faut pour que vous puissiez utiliser Stable Diffusion UI Forge...

C'est tout bon, fermez StabilityMatrix pour le moment, on le relancera plus tard.

Installation de Flux AI

Pour Flux, on va devoir ajouter deux fichiers dans le dossier, data, mais avant tout on va les télécharger...

Le premier fichier ("flux1-dev-bnb-nf4.safetensors") est disponible ici.

Le second ("ae.safetensors"), quant à lui, vous le trouverez dans ce dépôt

Une fois le téléchargement terminé, il va falloir placer les fichiers aux bons endroits.

Allez dans le dossier "Data" puis "Models", de votre installation StabilityMatrix.

Les dossiers que nous allons utiliser sont les dossiers "StableDiffusion" et "VAE”.

Dans le dossier StableDiffusion, créer le dossier "Flux".

(Oui, sur ma capture, il y a des modèles en plus, mais pas d'inquiétude, c'était juste pour des tests, vous n'en avez pas besoin)

Une fois dans le sous-dossier "Flux", placez-y le fichier "flux1-dev-bnb-nf4.safetensors".

Parfait, oui,, il fait presque 12 go 😮.

Maintenant, retournez dans le dossier "Models" parents et rendez-vous dans le dossier "VAE", puis placez-y le fichier "ae.safetensors".

C'est tout bon, Flux est installé sur votre installation StabilityMatrix.

Lancement de la "Web UI” avec Flux

Vous pouvez maintenant relancer StabilityMatrix, et cliquer sur "Launch" sous "Stable Diffusion Web UI Forge".

Une fois que tout est chargé (ça prend un peu de temps la première fois), vous pouvez cliquer sur "Launch Web UI"

(Oui, non, mais oui, cette capture est sous Windows, car j'avais oublié de la faire avant, désolé... 😛)

Une fois dans l'interface Web, vérifiez que vous avez les mêmes paramètres que moi sur dans l'interface.

Et voilà, plus qu'à saisir votre prompt et cliquer sur "Generate".

Quelques petites astuces

Les paramètres de lancement de la WebUI

Il est possible de modifier les paramètres de lancement de la WebUI. Pour cela : cliquez sur la roue dentée dans l'encart de Stable Diffusion Web Ui Forge sur l'écran principal de StabilityMatrix. À cet endroit, vous pourrez ajouter des paramètres : soit des paramètres reconfigurés, soit, plus bas, vous pourrez ajouter textuellement vos propres paramètres, par exemple, le paramètre "--api".

Si comme moi vous avez une carte Nvidia, vous pouvez gagner en performance en activant le paramètre de lancement --cuda-malloc. Cela générera vos images plus rapidement.

De manière générale, vous lisez les logs de la WebUI, vous aurez des indications sur ce qu'il est possible d'activer.

API de Stable Diffusion WebUI Forge avec Flux

Si vous tentez d'utiliser l'API (avec le paramètre "--api"), il est possible que cela vous génère des images noires (si cela n'est pas corrigé d'ici là). Pendant mes tests, j'ai vu plusieurs "issues GitHub”, dont certaines effacées depuis, qui disaient que c'est par ce que via les appels API, on ne peut pas choisir le fichier "ae.safetensors". Tout ça étant relativement jeune, ça bouge énormément... la preuve, l'issue dont je parle, je ne la retrouve pas à l'heure où j'écris ces lignes.

Si vous avez plus d'infos à ce sujet là, je vous invite à me le faire savoir sur les réseaux 😁. S'il y a du nouveau, je mettrais à jour cette section.

Pas réussi à le faire fonctionner sur mon Mac

Bon, je n’ai pas cherché trop longtemps, mais sur Apple Silicon, j'avais des erreurs en chaîne dans la console quand je voulais générer une image, étant donné que ça fonctionne sur la RTX 2070 (lentement mais sûrement), je n’ai pas cherché plus que ça...

Conclusion

Et voilà, l'article touche à sa fin, vous pouvez maintenant expérimenter avec Flux en local... En ce qui me concerne, je me suis bien amusé avec, et j'envisage de me prendre une carte plus grosse pour jouer encore plus... (oui, vous avez vu sur certaines captures d'écran !a parlé de RTX 4060 TI 😮).

Un bon courage pour votre rentée et à bientôt 😁.