Diffusers documentation
単一ファイル
はじめに
推論
拡散パイプラインの使用
アダプターとパーソナライズ
最適化とスケーリング
モジュール型 Diffusers
学習とファインチューニング
リソース
コントリビュート
API
主なクラス
モジュール型
ローダー
モデル
Pipelines
スケジューラ
内部クラス
単一ファイル
from_single_file() メソッドを使用すると、以下を読み込むことができます:
- 単一ファイルに保存されたモデルです。Automatic1111のような拡散モデルエコシステムで動作するモデルを扱っており、モデルの保存や共有に単一ファイル形式を頻繁に利用する場合に便利です。
- …で配布された元のレイアウトで保存されたモデルです。他のサービスでファインチューニングされたモデルを扱っており、それを直接Diffusersのモデルオブジェクトやパイプラインに読み込みたい場合に便利です。
Diffusersのマルチフォルダレイアウトと単一ファイルレイアウトの違い、およびこれらの異なるレイアウトで保存されたモデルの読み込み方法について詳しく知るには、モデルファイルとレイアウトガイドをお読みください。
サポートされているパイプライン
- StableDiffusionPipeline
- StableDiffusionImg2ImgPipeline
- StableDiffusionInpaintPipeline
- StableDiffusionControlNetPipeline
- StableDiffusionControlNetImg2ImgPipeline
- StableDiffusionControlNetInpaintPipeline
- StableDiffusionUpscalePipeline
- StableDiffusionXLPipeline
- StableDiffusionXLImg2ImgPipeline
- StableDiffusionXLInpaintPipeline
- StableDiffusionXLInstructPix2PixPipeline
- StableDiffusionXLControlNetPipeline
StableDiffusionXLKDiffusionPipeline- StableDiffusion3Pipeline
- LatentConsistencyModelPipeline
- LatentConsistencyModelImg2ImgPipeline
StableDiffusionControlNetXSPipelineStableDiffusionXLControlNetXSPipeline- LEditsPPPipelineStableDiffusion
- LEditsPPPipelineStableDiffusionXL
PIAPipeline
サポートされているモデル
- UNet2DConditionModel
StableCascadeUNet- AutoencoderKL
- ControlNetModel
- SD3Transformer2DModel
- FluxTransformer2DModel
FromSingleFileMixin
.ckpt形式で保存されたモデルの重みをDiffusionPipelineに読み込みます。
from_single_file
< source >( pretrained_model_link_or_path**kwargs )
パラメータ
- pretrained_model_link_or_path (
strまたはos.PathLike, 省略可) — 次のいずれかです:- Hub 上の
.ckptファイルへのリンク(例:"https://huggingface.co/<repo_id>/blob/main/<path_to_file>.ckpt")。 - すべてのパイプラインの重みを含むファイルへのパス。
- Hub 上の
- dtype (
strまたはtorch.dtype、省略可) — デフォルトのtorch.dtypeを上書きし、別の dtype でモデルを読み込みます。 - force_download (
bool、任意、デフォルトはFalse) — モデルの重みおよび設定ファイルを(再)ダウンロードすることを強制するかどうか。キャッシュされたバージョンが存在する場合でも、それらを無視してダウンロードします。 - cache_dir (
str | os.PathLike, 任意) — 標準のキャッシュを使用しない場合、ダウンロードした事前学習モデルの構成がキャッシュされるディレクトリのパス。 - proxies (
dict[str, str]、省略可) — プロトコルまたはエンドポイントごとに使用するプロキシサーバーの辞書です。例えば、{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}のように指定します。各リクエストでこれらのプロキシが使用されます。 - local_files_only (
bool、任意、デフォルトはFalse) — ローカルのモデル重みと設定ファイルのみを読み込むかどうかを指定します。Trueに設定すると、モデルは Hub からダウンロードされません。 - token (
strまたは bool、省略可能) — リモートファイルの HTTP ベアラ認証に使用するトークンです。Trueの場合、diffusers-cli loginで生成されたトークン(~/.huggingfaceに保存されています)が使用されます。 - revision (
str、任意、デフォルトは"main") — 使用する特定のモデルのバージョンです。ブランチ名、タグ名、コミット ID、または Git によって許可される任意の識別子を使用できます。 - original_config_file (
str, 任意) — モデルの学習に使用された元の設定ファイルへのパスです。指定しない場合、チェックポイントファイルから設定ファイルが推測されます。 - config (
str, 省略可) — 以下のいずれかです:- Hub にホストされている事前学習済みパイプラインの repo id(例:
CompVis/ldm-text2im-large-256)を表す文字列 - Diffusers形式のパイプラインコンポーネントの設定を含むディレクトリへのパス(例:
./my_pipeline_directory/)。
- Hub にホストされている事前学習済みパイプラインの repo id(例:
- disable_mmap (‘bool’, 任意、デフォルトは ‘False’) — Safetensors モデルの読み込み時に mmap を無効にするかどうか。モデルがネットワークマウントやハードドライブにある場合、このオプションを有効にするとパフォーマンスが向上する可能性があります。
- kwargs (残りのキーワード引数の辞書、任意) —
ロードおよびセーブ可能な変数(特定のパイプラインクラスのコンポーネント)を上書きするために使用できます。上書きされたコンポーネントは、パイプラインの
__init__メソッドに直接渡されます。詳細は以下の例を参照してください。
.ckptまたは.safetensors形式で保存された事前学習済みパイプラインの重みから、DiffusionPipelineをインスタンス化します。デフォルトでは、パイプラインは評価モード(model.eval())に設定されます。
例:
>>> from diffusers import StableDiffusionPipeline
>>> # Download pipeline from huggingface.co and cache.
>>> pipeline = StableDiffusionPipeline.from_single_file(
... "https://huggingface.co/WarriorMama777/OrangeMixs/blob/main/Models/AbyssOrangeMix/AbyssOrangeMix.safetensors"
... )
>>> # Download pipeline from local file
>>> # file is downloaded under ./v1-5-pruned-emaonly.ckpt
>>> pipeline = StableDiffusionPipeline.from_single_file("./v1-5-pruned-emaonly.ckpt")
>>> # Enable float16 and move to GPU
>>> pipeline = StableDiffusionPipeline.from_single_file(
... "https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5/blob/main/v1-5-pruned-emaonly.ckpt",
... torch_dtype=torch.float16,
... )
>>> pipeline.to("cuda")FromOriginalModelMixin
.ckptまたは.safetensors形式で保存された事前学習済み重みをモデルに読み込みます。
from_single_file
< source >( pretrained_model_link_or_path_or_dict: str | None = None**kwargs )
パラメータ
- pretrained_model_link_or_path_or_dict (
str, 省略可) — 以下のいずれかです:- Hub 上の
.safetensorsまたは.ckptファイルへのリンク(例:"https://huggingface.co/<repo_id>/blob/main/<path_to_file>.safetensors")。 - コンポーネントモデルの重みを含むローカルのファイルへのパス。
- コンポーネントモデルの重みを含む状態辞書。
- Hub 上の
- config (
str, 省略可能) —- repo id(
CompVis/ldm-text2im-large-256など)の文字列。Hub にホストされている事前学習済みパイプラインのものです。 - Diffusers形式のパイプラインコンポーネントの設定を含むディレクトリへのパス(例:
./my_pipeline_directory/)。
- repo id(
- subfolder (
str、任意、デフォルトは"") — Hub またはローカル上のより大きなモデルリポジトリ内での、モデルファイルのサブフォルダの場所。 - original_config (
str, 任意) — モデルの元の形式で設定を含む Dict または yaml ファイルへのパス。 Dict が提供された場合、モデル設定の初期化に使用されます。 - dtype (
torch.dtype, 省略可) — デフォルトのtorch.dtypeを上書きし、別のdtypeでモデルを読み込みます。 - force_download (
bool、任意、デフォルトはFalse) — モデルの重みおよび設定ファイルを(再)ダウンロードすることを強制するかどうか。キャッシュされたバージョンが存在する場合でも、それらを無視してダウンロードします。 - cache_dir (
str | os.PathLike, 任意) — 標準のキャッシュを使用しない場合、ダウンロードした事前学習モデルの構成がキャッシュされるディレクトリのパス。 - proxies (
dict[str, str]、省略可) — プロトコルまたはエンドポイントごとに使用するプロキシサーバーの辞書です。例えば、{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}のように指定します。各リクエストでこれらのプロキシが使用されます。 - local_files_only (
bool、任意、デフォルトはFalse) — ローカルのモデル重みと設定ファイルのみを読み込むかどうかを指定します。True に設定すると、モデルは Hub からダウンロードされません。 - token (
strまたは bool、省略可能) — リモートファイルの HTTP ベアラ認証に使用するトークンです。Trueの場合、diffusers-cli loginで生成されたトークン(~/.huggingfaceに保存されています)が使用されます。 - revision (
str、任意、デフォルトは"main") — 使用する特定のモデルのバージョンです。ブランチ名、タグ名、コミット ID、または Git によって許可される任意の識別子を使用できます。 - low_cpu_mem_usage (
bool、任意、torch のバージョンが 1.9.0 以上でTrueかつ — is_accelerate_available() の場合はFalseがデフォルト): 事前学習済み重みのみを読み込み、重みの初期化を行わないことで、モデルの読み込みを高速化します。これにより、モデルの読み込み中に CPU メモリ(ピークメモリを含む)をモデルサイズの 1 倍以下に抑えるよう試みます。PyTorch 1.9.0 以上でのみサポートされています。PyTorch の古いバージョンを使用している場合、この引数をTrueに設定するとエラーが発生します。 - disable_mmap (‘bool’, 任意、デフォルトは ‘False’) — Safetensors モデルの読み込み時に mmap を無効にするかどうか。モデルがネットワークマウントやハードドライブ上にあり、mmap のランダムアクセス(seek)を適切に処理できない可能性がある場合、このオプションを有効にするとパフォーマンスが向上する場合があります。
- kwargs (残りのキーワード引数の辞書、任意) —
ロードおよびセーブ可能な変数(特定の pipeline クラスの pipeline コンポーネントなど)を上書きするために使用できます。上書きされたコンポーネントは、pipeline の
__init__メソッドに直接渡されます。詳細は以下の例を参照してください。
.ckptまたは.safetensors形式で保存された事前学習済み重みからモデルをインスタンス化します。モデルはデフォルトで評価モード(model.eval())に設定されます。