Diffusers documentation
概要
はじめに
推論
拡散パイプラインの使用
アダプターとパーソナライズ
最適化とスケーリング
モジュール型 Diffusers
学習とファインチューニング
リソース
コントリビュート
API
概要
🤗 Diffusers は、独自の拡散モデルを学習するためのトレーニングスクリプトのコレクションを提供しています。すべてのトレーニングスクリプトは diffusers/examples にあります。
各トレーニングスクリプトは、次のとおりです。
- 自己完結型: 学習スクリプトはローカルファイルに依存せず、スクリプトの実行に必要なすべてのパッケージは
requirements.txtファイルからインストールされます。 - カスタマイズしやすい: トレーニングスクリプトは、特定のタスクに対して拡散モデルをどのようにトレーニングするかを示す例であり、すべてのトレーニングシナリオでそのまま動作するわけではありません。おそらく、ご自身のユースケースに合わせてトレーニングスクリプトを調整する必要があります。そのため、データ前処理コードとトレーニングループを完全に公開しており、ご自身で修正できるようにしています。
- 初心者向け: 学習スクリプトは、最新かつ最先端の手法を用いて最良で競争力のある結果を得ることを目的とするのではなく、初心者が理解しやすく扱いやすいように設計されています。複雑すぎると判断される学習手法は、意図的に除外されています。
- 単一目的: 各トレーニングスクリプトは、読みやすく理解しやすいように、1つのタスクにのみ特化して設計されています。
現在のトレーニングスクリプトのコレクションには、以下が含まれます。
| トレーニング | SDXL対応 | LoRAサポート |
|---|---|---|
| 無条件画像生成 | ||
| テキストから画像へ | 👍 | 👍 |
| テキストualインバージョン | ||
| DreamBooth | 👍 | 👍 |
| ControlNet | 👍 | |
| InstructPix2Pix | 👍 | |
| カスタム Diffusion | ||
| T2I-Adapters | 👍 | |
| Kandinsky 2.2 | 👍 |
これらの例は積極的にメンテナンスされています。期待通りに動作しない場合は、お気軽にissueを開いてください。別のトレーニング例を含めるべきだと感じられる場合は、Feature Requestを開始して、機能のアイデアについて議論し、それが自己完結型で、調整が容易で、初心者向けで、単一目的であるという私たちの基準を満たしているかどうかを確認してください。
インストール
新しい仮想環境でソースからライブラリをインストールし、最新バージョンのサンプルスクリプトが正常に実行できることを確認してください。
git clone https://github.com/huggingface/diffusers
cd diffusers
pip install .次に、トレーニングスクリプトのフォルダ(例: DreamBooth)に移動し、requirements.txt ファイルをインストールします。一部のトレーニングスクリプトには、SDXL や LoRA 用の特定の要件ファイルがあります。これらのスクリプトを使用する場合は、対応する要件ファイルをインストールしていることを確認してください。
cd examples/dreambooth
pip install -r requirements.txt
# to train SDXL with DreamBooth
pip install -r requirements_sdxl.txtトレーニングの高速化とメモリ使用量の削減のため、以下をお勧めします。
- PyTorch 2.0 以降を使用すると、学習中にscaled dot product attentionが自動的に利用されます(学習コードの変更は不要です)。
- メモリ効率の高いアテンションを有効化するためにxFormersをインストールする