Les diffuseurs Hugging Face peuvent maintenant charger correctement LoRA
Les diffuseurs Hugging Face chargent LoRA correctement.
Utilisation de la fonction de patching Monkey-Patching la plus récente de Diffusers pour charger LoRA produit exactement le même résultat comparé à A1111
Téléchargez le code le plus récent du référentiel de code Diffusers de Hugging Face et découvrez que le code le plus récent mis à jour concernant le chargement de LoRA est mis à jour et peut maintenant effectuer le chargement de LoRA en Monkey-Patching.
Pour installer la dernière version de Diffusers :
pip install -U git+https://github.com/huggingface/diffusers.git@main
La fonction de chargement de LoRA générait des résultats légèrement défectueux hier, selon mes tests. Cet article explique comment utiliser le dernier chargeur LoRA du package Diffusers.
Charger LoRA et mettre à jour le poids du modèle Stable Diffusion
Cela fait un moment que les programmeurs utilisant Diffusers ne peuvent pas charger LoRA facilement. Pour charger LoRA dans un modèle de point de contrôle et obtenir le même résultat que le Webui Stable Diffusion de A1111, nous devons utiliser du code personnalisé supplémentaire pour charger les poids, comme je l’ai fourni dans cet article.
- RepVGG Une explication détaillée pour la ré-paramétrisation structurale
- FitBot — Un agent de chatbot de remise en forme
- LLMs en IA conversationnelle Construction de chatbots et d’assistants plus intelligents
Améliorer le package Diffusers pour une génération d’images de haute qualité
Surmonter les limitations de taille de jeton, le chargement de modèle personnalisé, le support de LoRa, le support d’inversion textuelle et plus encore
towardsdatascience.com
La solution proposée dans cet article fonctionne bien et rapidement, mais nécessite une gestion supplémentaire sur le poids alpha de LoRA. Nous devons créer une variable pour se souvenir du poids alpha actuel de LoRA. Car le code de chargement de LoRA ajoute simplement la matrice A et la matrice B de LoRA ensemble.
Ensuite, fusionnez avec le poids principal du modèle de point de contrôle W.
Pour supprimer les poids de LoRA, nous aurons besoin d’un négatif -α pour les supprimer, ou recréer le pipeline.
La façon de chargement de LoRA par Monkey-Patching
Une autre façon d’utiliser LoRA consiste à patcher le code qui exécute le processus de propagation du module et à apporter les poids de LoRA lors du calcul de l’incorporation de texte et du score d’attention.
Et c’est ainsi que la classe LoraLoaderMixin de Diffusers aborde le chargement de LoRA. L’avantage de cette approche est qu’aucun poids du modèle n’est mis à jour, nous pouvons facilement réinitialiser LoRA et fournir un nouveau α pour définir le poids de LoRA.
We will continue to update IPGirl; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- Franchir les barrières dans l’adaptation de domaine sans source l’impact de NOTELA sur les domaines de la bioacoustique et de la vision
- Surfer SEO Critique Le meilleur outil SEO IA ? (Juillet 2023)
- Doug Fuller, vice-président de l’ingénierie logicielle chez Cornelis Networks – Série d’interviews
- Un expert en neurosciences réclame un Neuroshield.
- Comment expliquerais-tu l’apprentissage automatique à un enfant de 9 ans?
- La société de gestion de BTS, HYBE, se tourne vers l’intelligence artificielle pour sortir des morceaux dans plusieurs langues.
- 3 Différences Pratiques Entre astype() et to_datetime() dans Pandas