Diffusers documentation

インストール

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.43.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

インストール

DiffusersにはPython 3.10以上が必要であり、PyTorch 2.6以上でテストされています。PyTorchは、お使いのシステムとセットアップに応じてインストールしてください。

個別プロジェクトの管理を容易にし、依存関係間の互換性問題を回避するために、仮想環境を作成します。uv(Rust製のPythonパッケージおよびプロジェクトマネージャー)を使用して、仮想環境を作成し、Diffusersをインストールします。

uv venv my-env
source my-env/bin/activate

Diffusersは、以下のいずれかの方法でインストールできます。

pip
NVIDIA Spark (ARM64)
conda
ソース
uv pip install diffusers["torch"] transformers

必要に応じて、extras を指定してインストールしてください。diffusers["torch"] を指定すると、PyTorch と Accelerate がインストールされます。その他の extras には、量子化バックエンド、トレーニング、ドキュメントが含まれます。完全なリストは setup.py を参照してください。

デバイス

Diffusers は、PyTorch がサポートするすべてのアクセラレーターで動作します。ドキュメント内の例では、最も一般的なセットアップであるため "cuda" が使用されていますが、CUDA 固有の要素はありません。Intel GPU には "xpu"、Apple silicon には "mps"、CPU には "cpu" のように、お使いのハードウェアに対応するデバイス文字列に置き換えてください。

device = "cuda"  # or "mps", "xpu", "cpu"
pipeline.to(device)

ハードコードするのではなく、実行時にデバイスを選択するには、torch.acceleratorを使用します。

import torch

device = torch.accelerator.current_accelerator().type if torch.accelerator.is_available() else "cpu"

編集可能なインストール

開発ワークフローや、ソースコードのmainバージョンを使用している場合は、editable install(編集可能なインストール)が推奨されます。クローンしたリポジトリとPythonライブラリのパスの間に特別なリンクが作成され、変更のたびにパッケージを再インストールする必要がなくなります。

以下のコマンドでリポジトリをクローンし、Diffusersをインストールします。

git clone https://github.com/huggingface/diffusers.git
cd diffusers
uv pip install -e ".[torch]"

編集可能インストールでライブラリを継続して使用する場合、diffusersフォルダを保持する必要があります。

以下のコマンドを実行して、クローンしたリポジトリを Diffusers の最新バージョンに更新してください。

cd ~/diffusers/
git pull

キャッシュ

モデルの重みとファイルは、通常はホームディレクトリにあるキャッシュに、Hub からダウンロードされます。HF_HOME または HF_HUB_CACHE 環境変数を変更するか、from_pretrained() のようなメソッドで cache_dir パラメータを設定することで、キャッシュの保存場所を変更できます。

環境変数
from_pretrained
export HF_HOME="/path/to/your/cache"
export HF_HUB_CACHE="/path/to/your/hub/cache"

キャッシュされたファイルを使用すると、Diffusers をオフラインで利用できます。Diffusers がインターネットに接続しないようにするには、環境変数 HF_HUB_OFFLINE を 1 に設定してください。

export HF_HUB_OFFLINE=1

キャッシュの管理とクリーンアップの詳細については、キャッシュの仕組みガイドをご覧ください。

リポジトリ間でファイルを共有する

キャッシュは、複数の Hub リポジトリに同じファイルが含まれている場合でも、そのファイルのコピーを1つだけ保持します。多くのパイプラインは、T5 などの同じテキストエンコーダーを使用します。2 つ目のパイプラインのリポジトリに、すでにダウンロード済みのものと同じテキストエンコーダーファイルが含まれている場合、from_pretrained() は再ダウンロードせずに、ディスク上のコピーを使用します。Diffusers には、ファイル共有をデフォルトで有効にする huggingface_hub>=1.32.0 が必要です。

キャッシュはリポジトリ名やモデル名ではなく、Xetハッシュによってファイルを照合します。シャード化されたチェックポイントはシャード単位で照合されるため、他のシャードが異なっていても、一致したシャードは共有されます。

ファイルが共有されるのは、以下のすべての条件が真の場合のみです:

  • 両方のリポジトリは、ファイルをXetで保存しています。
  • 両方のダウンロードは、HF_HUB_CACHEまたはcache_dirで設定される同じキャッシュディレクトリを使用します。
  • ファイルシステムはシンボリックリンクをサポートしています。
  • ファイルはバイト単位で完全に同一です。異なるdtypeに変換したり、異なる形式で保存したり、リシャーディングを行うと、ハッシュが変更されます。

旧バージョンのhuggingface_hubでダウンロードしたファイルは、新しいダウンロードと共有されません。共有ストアに追加されるのは、バージョン1.32.0以降でダウンロードしたファイルのみです。

ファイル共有はダウンロード時間とディスク容量を節約できますが、メモリは節約できません。読み込まれたモデルを複数のパイプラインで使用する方法については、複数のパイプラインでモデルを再利用するを参照してください。

ファイル共有を無効にするには、HF_HUB_DISABLE_SHARED_BLOBS=1を設定してください。読み込みは引き続き機能し、各リポジトリが独自のコピーを保持します。

export HF_HUB_DISABLE_SHARED_BLOBS=1

テレメトリのログ記録

Diffusers gathers telemetry information during from_pretrained() requests. The data gathered includes the Diffusers and PyTorch version, the requested model or pipeline class, and the path to a pretrained checkpoint if it is hosted on the Hub.

この使用データは、問題のデバッグや新機能の優先順位付けに役立てられています。 テレメトリは、Hubからモデルやパイプラインを読み込む場合のみ送信され、ローカルファイルを読み込む場合は収集されません。

HF_HUB_DISABLE_TELEMETRY 環境変数を使用して、テレメトリ収集をオプトアウトおよび無効にできます。

Linux/macOS
Windows
export HF_HUB_DISABLE_TELEMETRY=1
Update on GitHub