「Hugging Face Diffusersは、LoRAを正しくロードできるようになりました」
Hugging Face Diffusers can now correctly load LoRA.
最新のディフューザーモンキーパッチ機能を使用してLoRAをロードすると、A1111と比較してまったく同じ結果が得られます
Hugging FaceのDiffusersコードリポジトリから最新のコードを取得しましたが、最新のコードはLoRAのロードに関連して更新され、現在はMonkey-Patching LoRAのロードが可能です。
最新のDiffusersをインストールするには:
pip install -U git+https://github.com/huggingface/diffusers.git@main
LoRAのロード関数は昨日、わずかに不良な結果を生成していました。この記事では、Diffusersパッケージから最新のLoRAローダーを使用する方法について説明します。
LoRAをロードし、安定したディフュージョンモデルの重みを更新する
Diffusersを使用するプログラマーは、簡単な方法でLoRAをロードすることができない期間が続いています。私がこの記事で提供したように、チェックポイントモデルにLoRAをロードし、A1111のStable Diffusion Webuiと同じ結果を出力するためには、追加のカスタムコードを使用する必要があります。
- 「Surfer SEO レビュー:最高のAI SEO ツール?(2023年7月)」
- 「コーネリスネットワークスのソフトウェアエンジニアリング担当副社長、ダグ・フラーラー氏 – インタビューシリーズ」
- 「Pandasのastype()とto_datetime()の間の3つの実践的な違い」
高品質な画像生成のためのDiffusersパッケージの改良
トークンサイズの制限の克服、カスタムモデルのロード、LoRaのサポート、テキスト反転のサポートなど
towardsdatascience.com
この記事で提供された解決策は、良く機能し、高速ですが、LoRAのアルファウェイトの追加管理が必要です。現在のLoRAのウェイトαを記憶するために変数を作成する必要があります。なぜなら、LoRAのロードコードは単純にLoRAからA行列とB行列を加えるからです。
そして、メインのチェックポイントモデルのウェイトWとマージします。
LoRAのウェイトを削除するには、LoRAのウェイトを削除するために負の-αが必要です。またはパイプラインを再作成する必要があります。
LoRAをロードするためのモンキーパッチングの方法
LoRAを使用する別の方法は、モジュールのforward処理を実行するコードにパッチを当て、テキスト埋め込みと注意スコアの計算時にLoRAのウェイトを取り込むことです。
これがDiffusersのLoraLoaderMixinのLoRAローディング手法です。この手法の良いところは、モデルのウェイトが更新されないため、簡単にLoRAをリセットし、新しいαを定義してLoRAのウェイトを提供できることです。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles