Hub documentation

Hugging Faceでの🧨 diffusersの使用方法

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Hugging Faceでの🧨 diffusersの使用方法

Diffusersは、画像、音声、さらには分子の3D構造を生成するための最先端の事前学習済み拡散モデル向けの定番ライブラリです。シンプルな推論ソリューションを探している場合でも、独自の拡散モデルをトレーニングしたい場合でも、Diffusersは両方をサポートするモジュール化されたツールボックスです。このライブラリは、パフォーマンスよりも使いやすさ、簡単さよりもシンプルさ、抽象化よりもカスタマイズ性を重視して設計されています。

HubでのDiffusersの探索

Hubには10,000を超えるdiffusers互換のパイプラインがあり、モデルページの左側でフィルタリングすることで検索できます。拡散モデルシステムは、テキストエンコーダー、UNet、VAE、スケジューラーなどの複数のコンポーネントで構成されることが一般的です。これらは単独のモデルではありませんが、パイプラインの抽象化により、推論や学習に簡単に使用できます。

さまざまなタスク向けの拡散パイプラインを見つけることができます:

ブラウザ内ウィジェットのおかげで、モデルをダウンロードせずにブラウザ上で直接試すことができます。

Diffusersリポジトリのファイル

Diffusersのモデルリポジトリには、画像のエンコードと潜在変数のデコードを行う変分オートエンコーダ、テキストエンコーダ、transformerモデルなど、必要なモデルのサブコンポーネントがすべて含まれています。これらのサブコンポーネントは、複数のフォルダからなるレイアウトに整理されています。

各サブフォルダーには、Transformersモデルと同様に、各コンポーネントの重みと設定(該当する場合)が含まれています。

重みは通常、safetensorsファイルとして保存され、設定は通常、モデルアーキテクチャに関する情報が含まれたjsonファイルです。

既存のパイプラインの使用

すべてのdiffusersのパイプラインは、1行のコードで利用できます!生成を実行するには、DiffusionPipelineから始めることをお勧めします:

from diffusers import DiffusionPipeline

pipeline = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0")

UNetなどの特定のpipelineコンポーネントを読み込みたい場合は、次のように行います。

from diffusers import UNet2DConditionModel

unet = UNet2DConditionModel.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0", subfolder="unet")

パイプラインとモデルの共有

すべてのpipeline クラス、model クラス、scheduler クラスは、Hub と完全に互換性があります。具体的には、from_pretrained()メソッドを使用して Hub から簡単に読み込むことができ、push_to_hub()メソッドを使用して他の人と共有できます。

詳細については、ドキュメントをご参照ください。

追加のリソース

Update on GitHub