Diffusers documentation

LoRA

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

LoRA

LoRAは、モデルの全パラメータではなく、はるかに少ない数のパラメータを挿入して学習する、高速かつ軽量な学習手法です。これにより、より小さいファイル(約100 MB)が生成され、新しい概念を学習させるモデルを素早くトレーニングしやすくなります。LoRAの重みは、通常、デノイザー、テキストエンコーダー、またはその両方に読み込まれます。デノイザーは通常、UNet(UNet2DConditionModelなど)やTransformer(SD3Transformer2DModelなど)に対応しています。LoRAの重みを読み込むためのクラスはいくつかあります。

  • StableDiffusionLoraLoaderMixin は、LoRA 重みの読み込みと解放、融合と分離、有効化と無効化など、LoRA 重みを管理するための関数を提供します。このクラスは、任意のモデルで使用できます。
  • StableDiffusionXLLoraLoaderMixin は、LoRA 重みの読み込みと保存を行う StableDiffusionLoraLoaderMixin クラスの Stable Diffusion (SDXL) 版です。SDXL モデルでのみ使用できます。
  • SD3LoraLoaderMixin は、Stable Diffusion 3 に対して同様の機能を提供します。
  • FluxLoraLoaderMixin は、Flux に対して同様の機能を提供します。
  • CogVideoXLoraLoaderMixin は、CogVideoX に対して同様の機能を提供します。
  • Mochi1LoraLoaderMixin は、Mochi に対して同様の機能を提供します。
  • AuraFlowLoraLoaderMixin は、AuraFlow に対して同様の機能を提供します。
  • LTXVideoLoraLoaderMixin は、LTX-Video に対して同様の機能を提供します。
  • SanaLoraLoaderMixin は、Sana に対して同様の機能を提供します。
  • HeliosLoraLoaderMixin は、HunyuanVideo に対して同様の機能を提供します。
  • HunyuanVideoLoraLoaderMixin は、HunyuanVideo に対して同様の機能を提供します。
  • Lumina2LoraLoaderMixin は、Lumina2 に対して同様の機能を提供します。
  • WanLoraLoaderMixin は、Wan に対して同様の機能を提供します。
  • SkyReelsV2LoraLoaderMixin は、SkyReels-V2 に対して同様の機能を提供します。
  • CogView4LoraLoaderMixin は、CogView4 に対して同様の機能を提供します。
  • AmusedLoraLoaderMixin は AmusedPipeline 用です。
  • AnimaLoraLoaderMixin は、Anima に対して同様の機能を提供します。
  • AceStepLoraLoaderMixin は、ACE-Step に対して同様の機能を提供します。
  • HiDreamImageLoraLoaderMixin は、HiDream Image に対して同様の機能を提供します。
  • QwenImageLoraLoaderMixin は、Qwen Image に対して同様の機能を提供します。
  • ZImageLoraLoaderMixin は、Z-Image に対して同様の機能を提供します。
  • Flux2LoraLoaderMixin は、Flux2 に対して同様の機能を提供します。
  • ErnieImageLoraLoaderMixin は、Ernie-Image に対して同様の機能を提供します。
  • LTX2LoraLoaderMixin は、Flux2 に対して同様の機能を提供します。
  • MiniMaxH3LoraLoaderMixin は、MiniMax-H3 に対して同様の機能を提供します。
  • PikaH3FlexLoraLoaderMixin は、Pika H3 Flex に対して同様の機能を提供します。
  • RFD4ProteinaLoraLoaderMixin は、RFD4-Proteína に対して同様の機能を提供します。
  • BriaFibo2LoraLoaderMixin は、fibo-2 に対して同様の機能を提供します。
  • LoraBaseMixin は、LoRA の融合、非融合、アンロードなどの複数のユーティリティメソッドを提供するベースクラスです。

LoRAの重みをロードする方法の詳細については、LoRAのロードガイドを参照してください。

RFD4ProteinaLoraLoaderMixin

クラス diffusers.loaders.RFD4ProteinaLoraLoaderMixin

< >

( )

LoRAレイヤーをRFD4ProteinaTransformerに読み込みます。

autoencoderはdenoiserのチェックポイントとペアで提供され、適応されていないため、transformerのみが読み込み可能なモジュールです。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

LoraBaseMixin

class diffusers.loaders.lora_base.LoraBaseMixin

< >

( )

LoRAの処理を行うユーティリティクラスです。

delete_adapters

< >

( adapter_names: list[str] | str )

パラメータ

  • adapter_names (list[str, str]) — 削除するアダプターの名前です。

パイプラインからアダプターのLoRA層を削除します。

例:

from diffusers import AutoPipelineForText2Image
import torch

pipeline = AutoPipelineForText2Image.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16
).to("cuda")
pipeline.load_lora_weights(
    "jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_names="cinematic"
)
pipeline.delete_adapters("cinematic")

disable_lora

< >

( )

パイプラインのアクティブなLoRAレイヤーを無効にします。

例:

from diffusers import AutoPipelineForText2Image
import torch

pipeline = AutoPipelineForText2Image.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16
).to("cuda")
pipeline.load_lora_weights(
    "jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_name="cinematic"
)
pipeline.disable_lora()

enable_lora

< >

( )

パイプラインのアクティブなLoRAレイヤーを有効にします。

例:

from diffusers import AutoPipelineForText2Image
import torch

pipeline = AutoPipelineForText2Image.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16
).to("cuda")
pipeline.load_lora_weights(
    "jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_name="cinematic"
)
pipeline.enable_lora()

enable_lora_hotswap

< >

( **kwargs )

パラメータ

  • target_rank (int) — 読み込まれるすべてのアダプターの中で最も高いランクです。
  • check_compiled (str, 省略可能, デフォルトは "error") — すでにコンパイル済みのモデルをどのように処理するか。チェックは以下のメッセージを返す可能性があります:
    • “error”(デフォルト):エラーを発生させます
    • “warn”: 警告を発行します
    • “ignore”: 何もしない

モデルの再コンパイルをトリガーせずに、または読み込まれたアダプターのランクが異なる場合でも、アダプターをホットスワップできます。

fuse_lora

< >

( components: list[str] | None = Nonelora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

パラメータ

  • components — (list[str]): LoRA を融合する対象の、LoRA 注入可能なコンポーネントのリスト。
  • lora_scale (float, デフォルト値は 1.0) — LoRA パラメータによる出力への影響度を制御します。
  • safe_fusing (bool、デフォルトはFalse) — 融合前に融合された重みのNaN値をチェックし、NaN値が含まれている場合は融合しないかどうかを指定します。
  • adapter_names (list[str], 省略可) — 融合に使用するアダプター名です。何も指定しない場合、すべてのアクティブなアダプターが融合されます。

対応するブロックの元のパラメータにLoRAパラメータを融合します。

例:

from diffusers import DiffusionPipeline
import torch

pipeline = DiffusionPipeline.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16
).to("cuda")
pipeline.load_lora_weights("nerijs/pixel-art-xl", weight_name="pixel-art-xl.safetensors", adapter_name="pixel")
pipeline.fuse_lora(lora_scale=0.7)

get_active_adapters

< >

( )

現在アクティブなアダプターのリストを取得します。

例:

from diffusers import DiffusionPipeline

pipeline = DiffusionPipeline.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0",
).to("cuda")
pipeline.load_lora_weights("CiroN2022/toy-face", weight_name="toy_face_sdxl.safetensors", adapter_name="toy")
pipeline.get_active_adapters()

get_list_adapters

< >

( )

パイプライン内で現在利用可能なすべてのアダプターの一覧を取得します。

set_adapters

< >

( adapter_names: list[str] | stradapter_weights: float | dict[str, float | dict | None] | list[float | dict[str, float | dict | None] | None] | None = None )

パラメータ

  • adapter_names (list[str] または str) — 使用するアダプターの名前です。
  • adapter_weights (float、dictまたはlist、省略可) — アダプター用の重みです。スカラー値を指定すると、すべてのLoRA互換コンポーネントがその値でスケーリングされます。辞書を指定すると、コンポーネント名(例: "unet"、"transformer"または"text_encoder")をキーに重みをマッピングします。UNetコンポーネントの重みは、ブロックのスケーリングを格納したネストされた辞書としても指定できます。スカラーまたは辞書を1つだけ指定すると、すべてのアダプターに適用されます。リストを指定する場合は、adapter_namesの順序に従って、アダプターごとにスカラー、辞書、またはNoneを1つずつ含める必要があります。Noneは、リストの要素やコンポーネントの重みを含むすべての場合で、デフォルト値1.0になります。指定されていないコンポーネントやUNetのブロックも、デフォルト値は1.0です。

パイプラインで使用するために、現在アクティブなアダプターを設定します。

例:

from diffusers import AutoPipelineForText2Image
import torch

pipeline = AutoPipelineForText2Image.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16
).to("cuda")
pipeline.load_lora_weights(
    "jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_name="cinematic"
)
pipeline.load_lora_weights(
    "troveski/sdxl-lora", weight_name="pytorch_lora_weights.safetensors", adapter_name="illustration"
)
pipeline.set_adapters(["cinematic", "illustration"], adapter_weights=[0.5, 0.5])
pipeline.set_adapters(
    ["cinematic", "illustration"],
    adapter_weights=[{"unet": 0.5}, {"unet": 0.8, "text_encoder": 0.6}],
)

set_lora_device

< >

( adapter_names: list[str]device: torch.device | str | int )

パラメータ

  • adapter_names (list[str]) — デバイスに送信するアダプターのリスト。
  • device (torch.device | str | int) — アダプターを送信するデバイス。torchのデバイス、文字列、または整数のいずれかです。

adapter_names にリストされている LoRA をターゲットデバイスに移動します。複数のアダプターを読み込んで GPU メモリを解放したい場合に、LoRA を CPU にオフロードするために便利です。

LoRAアダプターをCPUにオフロードした後、モデルの残りがまだGPU上に存在する限り、デバイス不一致が発生するため、LoRAアダプターは推論に使用できなくなります。これらのLoRAアダプターを推論に使用する前に、デバイスをGPUに設定し直すことを忘れないでください。

>>> pipe.load_lora_weights(path_1, adapter_name="adapter-1")
>>> pipe.load_lora_weights(path_2, adapter_name="adapter-2")
>>> pipe.set_adapters("adapter-1")
>>> image_1 = pipe(**kwargs)
>>> # switch to adapter-2, offload adapter-1
>>> pipeline.set_lora_device(adapter_names=["adapter-1"], device="cpu")
>>> pipeline.set_lora_device(adapter_names=["adapter-2"], device="cuda:0")
>>> pipe.set_adapters("adapter-2")
>>> image_2 = pipe(**kwargs)
>>> # switch back to adapter-1, offload adapter-2
>>> pipeline.set_lora_device(adapter_names=["adapter-2"], device="cpu")
>>> pipeline.set_lora_device(adapter_names=["adapter-1"], device="cuda:0")
>>> pipe.set_adapters("adapter-1")
>>> ...

unfuse_lora

< >

( components: list[str] | None = None**kwargs )

パラメータ

  • components (list[str]) — LoRAをアンフュージョンする対象の、LoRA注入可能なコンポーネントのリスト。
  • unfuse_unet (bool、デフォルトはTrue) — UNetのLoRAパラメータをアンフュージョンするかどうかを指定します。
  • unfuse_text_encoder (bool、デフォルトはTrue) — テキストエンコーダーのLoRAパラメータをアンフュージョンするかどうか。テキストエンコーダーがLoRAパラメータでモンキーパッチされていない場合、この設定は効果を持ちません。

pipe.fuse_lora() の効果を逆転します。

unload_lora_weights

< >

( )

LoRAパラメータをアンロードします。

例:

>>> # Assuming `pipeline` is already loaded with the LoRA parameters.
>>> pipeline.unload_lora_weights()
>>> ...

write_lora_layers

< >

( state_dict: dict[str, torch.Tensor]save_directory: stris_main_process: boolweight_name: strsave_function: Callablesafe_serialization: boollora_adapter_metadata: dict | None = None )

LoRA層のstate dictを(メタデータ付きで)ディスクに書き込みます。

StableDiffusionLoraLoaderMixin

class diffusers.loaders.StableDiffusionLoraLoaderMixin

< >

( )

Stable DiffusionのUNet2DConditionModelとCLIPTextModelにLoRAレイヤーを読み込みます。

load_lora_into_text_encoder

< >

( state_dictnetwork_alphastext_encoderprefix = Nonelora_scale = 1.0adapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

パラメータ

  • state_dict (dict) — LoRAレイヤーのパラメータを含む標準的なstate dictです。unetのLoRAレイヤーと区別するために、キーにはtext_encoderというプレフィックスを付加する必要があります。
  • network_alphas (dict[str, float]) — 安定した学習とアンダーフローの防止に使用されるネットワークアルファの値です。この値は、kohya-ss トレーナースクリプトの --network_alpha オプションと同じ意味を持ちます。このリンクを参照してください。
  • text_encoder (CLIPTextModel) — LoRA層を読み込む対象のテキストエンコーダーモデル。
  • prefix (str) — state_dict における text_encoder の想定されるプレフィックス。
  • lora_scale (float) — 通常の lora レイヤーの出力に lora 線形レイヤーの出力を加算する前に、その出力をどの程度スケーリングするかを示します。
  • adapter_name (str, 省略可) — 読み込まれたアダプターモデルを参照するために使用するアダプター名。指定しない場合、読み込まれるアダプターの総数を i として default_{i} が使用されます。
  • low_cpu_mem_usage (bool、省略可) — 事前学習済み LoRA 重みのみを読み込み、ランダム重みの初期化を行わないことで、モデルの読み込みを高速化します。
  • hotswap (bool、省略可) — load_lora_weights()を参照してください。
  • metadata (dict) — 任意の LoRA アダプターメタデータ。指定された場合、peft の LoraConfig 引数は state dict から導出されません。

これにより、state_dictで指定されたLoRAレイヤーがtext_encoderに読み込まれます。

load_lora_into_unet

< >

( state_dictnetwork_alphasunetadapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

パラメータ

  • state_dict (dict) — LoRAレイヤーのパラメータを含む標準的なstate dictです。キーは、unetに直接インデックスとして使用することも、テキストエンコーダーのLoRAレイヤーと区別するためにunetというプレフィックスを付加することもできます。
  • network_alphas (dict[str, float]) — 安定した学習とアンダーフローの防止に使用されるネットワークアルファの値です。この値は、kohya-ss トレーナースクリプトの --network_alpha オプションと同じ意味を持ちます。このリンクを参照してください。
  • unet (UNet2DConditionModel) — LoRA層を読み込む対象のUNetモデルです。
  • adapter_name (str, 省略可) — 読み込まれたアダプターモデルを参照するために使用するアダプター名。指定しない場合、読み込まれるアダプターの総数を i として default_{i} が使用されます。
  • low_cpu_mem_usage (bool、省略可) — ランダムな重みの初期化を行わず、事前学習済み LoRA 重みのみを読み込むことで、モデルの読み込みを高速化します。
  • hotswap (bool、省略可) — load_lora_weights()を参照してください。
  • metadata (dict) — 任意の LoRA アダプターメタデータ。指定された場合、peft の LoraConfig 引数は state dict から導出されません。

これにより、state_dictで指定されたLoRAレイヤーがunetに読み込まれます。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

パラメータ

  • pretrained_model_name_or_path_or_dict (str または os.PathLike または dict) — lora_state_dict()を参照してください。
  • adapter_name (str, 省略可) — 読み込まれたアダプターモデルを参照するために使用するアダプター名。指定しない場合、読み込まれるアダプターの総数を i として default_{i} が使用されます。
  • low_cpu_mem_usage (bool、省略可) — 事前学習済み LoRA 重みのみを読み込み、ランダム重みの初期化を行わないことで、モデルの読み込みを高速化します。
  • hotswap (bool, 省略可能) — デフォルトは False. 既存の (LoRA) アダプターを、新しく読み込まれたアダプターでインプレースに置き換えるかどうか。つまり、追加のアダプターを読み込むのではなく、既存のアダプターの重みを新しいアダプターの重みで置き換えます。これにより、より高速かつメモリ効率の高い処理が可能になります。ただし、hotswap の主な利点は、モデルが torch.compile でコンパイルされている場合、新しいアダプターを読み込んでもモデルの再コンパイルが不要になる点です。hotswap を使用する際は、渡す adapter_name は、すでに読み込まれているアダプターの名前である必要があります。

    新しいアダプターと古いアダプターでランクと/またはLoRA alpha(つまりスケーリング)が異なる場合、アダプターを読み込む前に追加のメソッドを呼び出す必要があります:

    pipeline = ...  # load diffusers pipeline
    max_rank = ...  # the highest rank among all LoRAs that you want to load
    # call *before* compiling and loading the LoRA adapter
    pipeline.enable_lora_hotswap(target_rank=max_rank)
    pipeline.load_lora_weights(file_name)
    # optionally compile the model now

    テキストエンコーダーのアダプターをホットスワップすることは、まだサポートされていません。この技術にはいくつかの追加の制限があり、以下にドキュメント化されています: https://huggingface.co/docs/peft/main/en/package_reference/hotswap

  • kwargs (dict、任意) — lora_state_dict()を参照してください。

pretrained_model_name_or_path_or_dict で指定された LoRA の重みを self.unet および self.text_encoder に読み込みます。

すべてのkwargsはself.lora_state_dictに転送されます。

ステートディクティの読み込み方法の詳細については、lora_state_dict()を参照してください。

self.unet にステートディクトがどのように読み込まれるかについては、load_lora_into_unet() を参照してください。

self.text_encoder に state dict がどのように読み込まれるかについては、load_lora_into_text_encoder() を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

パラメータ

  • pretrained_model_name_or_path_or_dict (str または os.PathLike または dict) — 以下のいずれかです:
    • Hub にホストされている事前学習済みモデルの model id(例: google/ddpm-celebahq-256)を表す文字列。
    • ./my_model_directory のように、ModelMixin.save_pretrained() で保存されたモデルの重みを含むディレクトリへのパス。
    • torch state dictです。
  • cache_dir (str | os.PathLike, 任意) — 標準のキャッシュを使用しない場合、ダウンロードした事前学習モデルの構成がキャッシュされるディレクトリのパス。
  • force_download (bool、任意、デフォルトは False) — モデルの重みおよび設定ファイルを(再)ダウンロードすることを強制するかどうか。キャッシュされたバージョンが存在する場合でも、それらを無視してダウンロードします。
  • 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 によって許可される任意の識別子を使用できます。
  • subfolder (str、任意、デフォルトは"") — Hub またはローカル上のより大きなモデルリポジトリ内での、モデルファイルのサブフォルダの場所。
  • weight_name (str, 省略可能、デフォルトは None) — シリアライズされた state dict ファイルの名前。
  • return_lora_metadata (bool、省略可能、デフォルトは False) — 有効にすると、state dict に通常含まれている LoRA アダプターのメタデータも追加で返されます。

LoRAの重みとネットワークのアルファのstate dictを返します。

> A1111形式のLoRAチェックポイントの読み込みを、限定的な範囲でサポートしています。 > > この機能は実験的であり、将来変更される可能性があります。

save_lora_weights

< >

( save_directory: str | os.PathLikeunet_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Nonetext_encoder_lora_layers: dict[str, torch.nn.Module] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Trueunet_lora_adapter_metadata = Nonetext_encoder_lora_adapter_metadata = None )

パラメータ

  • save_directory (str または os.PathLike) — LoRA パラメータを保存するディレクトリ。存在しない場合は作成されます。
  • unet_lora_layers (dict[str, torch.nn.Module] または dict[str, torch.Tensor]) — unet に対応する LoRA レイヤーの state dict です。
  • text_encoder_lora_layers (dict[str, torch.nn.Module] または dict[str, torch.Tensor]) — text_encoder に対応する LoRA レイヤーの state dict です。🤗 Transformers から由来するため、テキストエンコーダーの LoRA state dict を明示的に渡す必要があります。
  • is_main_process (bool、任意、デフォルトは True) — この関数を呼び出しているプロセスがメインプロセスかどうかを示します。分散学習時に、この関数をすべてのプロセスで呼び出す必要がある場合に便利です。この場合、競合状態を避けるために、メインプロセスでのみ is_main_process=True を設定してください。
  • save_function (Callable) — 状態辞書を保存するために使用する関数です。分散学習時にtorch.saveを別のメソッドに置き換える必要がある場合に便利です。環境変数DIFFUSERS_SAVE_MODEで設定できます。
  • safe_serialization (bool、任意、デフォルトはTrue) — safetensorsを使用してモデルを保存するか、従来のpickleによるPyTorchの方式で保存するかどうかを指定します。
  • unet_lora_adapter_metadata — state dict と一緒にシリアライズされる、unet に関連付けられた LoRA アダプターのメタデータ。
  • text_encoder_lora_adapter_metadata — テキストエンコーダーに関連付けられたLoRAアダプターのメタデータ。ステートディクトとともにシリアライズされます。

UNetおよびテキストエンコーダーに対応するLoRAパラメータを保存します。

StableDiffusionXLLoraLoaderMixin

class diffusers.loaders.StableDiffusionXLLoraLoaderMixin

< >

( )

Stable Diffusion XLのUNet2DConditionModel、CLIPTextModel、およびCLIPTextModelWithProjectionにLoRA層を読み込みます。

fuse_lora

< >

( components: list[str] = ['unet', 'text_encoder', 'text_encoder_2']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_text_encoder

< >

( state_dictnetwork_alphastext_encoderprefix = Nonelora_scale = 1.0adapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

パラメータ

  • state_dict (dict) — LoRAレイヤーのパラメータを含む標準的なstate dictです。unetのLoRAレイヤーと区別するために、キーにはtext_encoderというプレフィックスを付加する必要があります。
  • network_alphas (dict[str, float]) — 安定した学習とアンダーフローの防止に使用されるネットワークアルファの値です。この値は、kohya-ss トレーナースクリプトの --network_alpha オプションと同じ意味を持ちます。このリンクを参照してください。
  • text_encoder (CLIPTextModel) — LoRA層を読み込む対象のテキストエンコーダーモデル。
  • prefix (str) — state_dict における text_encoder の想定されるプレフィックス。
  • lora_scale (float) — 通常の lora レイヤーの出力に lora 線形レイヤーの出力を加算する前に、その出力をどの程度スケーリングするかを示します。
  • adapter_name (str, 省略可) — 読み込まれたアダプターモデルを参照するために使用するアダプター名。指定しない場合、読み込まれるアダプターの総数を i として default_{i} が使用されます。
  • low_cpu_mem_usage (bool、省略可) — 事前学習済み LoRA 重みのみを読み込み、ランダム重みの初期化を行わないことで、モデルの読み込みを高速化します。
  • hotswap (bool、省略可) — load_lora_weights()を参照してください。
  • metadata (dict) — 任意の LoRA アダプターメタデータ。指定された場合、peft の LoraConfig 引数は state dict から導出されません。

これにより、state_dictで指定されたLoRAレイヤーがtext_encoderに読み込まれます。

load_lora_into_unet

< >

( state_dictnetwork_alphasunetadapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

パラメータ

  • state_dict (dict) — LoRAレイヤーのパラメータを含む標準的なstate dictです。キーは、unetに直接インデックスとして使用することも、テキストエンコーダーのLoRAレイヤーと区別するためにunetというプレフィックスを付加することもできます。
  • network_alphas (dict[str, float]) — 安定した学習とアンダーフローの防止に使用されるネットワークアルファの値です。この値は、kohya-ss トレーナースクリプトの --network_alpha オプションと同じ意味を持ちます。このリンクを参照してください。
  • unet (UNet2DConditionModel) — LoRA層を読み込む対象のUNetモデルです。
  • adapter_name (str, 省略可) — 読み込まれたアダプターモデルを参照するために使用するアダプター名。指定しない場合、読み込まれるアダプターの総数を i として default_{i} が使用されます。
  • low_cpu_mem_usage (bool、省略可) — ランダムな重みの初期化を行わず、事前学習済み LoRA 重みのみを読み込むことで、モデルの読み込みを高速化します。
  • hotswap (bool、省略可) — load_lora_weights()を参照してください。
  • metadata (dict) — 任意の LoRA アダプターメタデータ。指定された場合、peft の LoraConfig 引数は state dict から導出されません。

これにより、state_dictで指定されたLoRAレイヤーがunetに読み込まれます。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

パラメータ

  • pretrained_model_name_or_path_or_dict (str または os.PathLike または dict) — 以下のいずれかです:
    • Hub にホストされている事前学習済みモデルの model id(例: google/ddpm-celebahq-256)を表す文字列。
    • ./my_model_directory のように、ModelMixin.save_pretrained() で保存されたモデルの重みを含むディレクトリへのパス。
    • torch state dictです。
  • cache_dir (str | os.PathLike, 任意) — 標準のキャッシュを使用しない場合、ダウンロードした事前学習モデルの構成がキャッシュされるディレクトリのパス。
  • force_download (bool、任意、デフォルトは False) — モデルの重みおよび設定ファイルを(再)ダウンロードすることを強制するかどうか。キャッシュされたバージョンが存在する場合でも、それらを無視してダウンロードします。
  • 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 によって許可される任意の識別子を使用できます。
  • subfolder (str、任意、デフォルトは"") — Hub またはローカル上のより大きなモデルリポジトリ内での、モデルファイルのサブフォルダの場所。
  • weight_name (str, 省略可能、デフォルトは None) — シリアライズされた state dict ファイルの名前。
  • return_lora_metadata (bool、省略可能、デフォルトは False) — 有効にすると、state dict に通常含まれている LoRA アダプターのメタデータも追加で返されます。

LoRAの重みとネットワークのアルファのstate dictを返します。

> A1111形式のLoRAチェックポイントの読み込みを、限定的な範囲でサポートしています。 > > この機能は実験的であり、将来変更される可能性があります。

save_lora_weights

< >

( save_directory: str | os.PathLikeunet_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Nonetext_encoder_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Nonetext_encoder_2_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Trueunet_lora_adapter_metadata = Nonetext_encoder_lora_adapter_metadata = Nonetext_encoder_2_lora_adapter_metadata = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['unet', 'text_encoder', 'text_encoder_2']**kwargs )

詳細については、unfuse_lora()を参照してください。

SD3LoraLoaderMixin

クラス diffusers.loaders.SD3LoraLoaderMixin

< >

( )

LoRAレイヤーをSD3Transformer2DModel、CLIPTextModel、およびCLIPTextModelWithProjectionに読み込みます。

StableDiffusion3Pipelineに固有です。

fuse_lora

< >

( components: list[str] = ['transformer', 'text_encoder', 'text_encoder_2']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_text_encoder

< >

( state_dictnetwork_alphastext_encoderprefix = Nonelora_scale = 1.0adapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

パラメータ

  • state_dict (dict) — LoRAレイヤーのパラメータを含む標準的なstate dictです。unetのLoRAレイヤーと区別するために、キーにはtext_encoderというプレフィックスを付加する必要があります。
  • network_alphas (dict[str, float]) — 安定した学習とアンダーフローの防止に使用されるネットワークアルファの値です。この値は、kohya-ss トレーナースクリプトの --network_alpha オプションと同じ意味を持ちます。このリンクを参照してください。
  • text_encoder (CLIPTextModel) — LoRA層を読み込む対象のテキストエンコーダーモデル。
  • prefix (str) — state_dict における text_encoder の想定されるプレフィックス。
  • lora_scale (float) — 通常の lora レイヤーの出力に lora 線形レイヤーの出力を加算する前に、その出力をどの程度スケーリングするかを示します。
  • adapter_name (str, 省略可) — 読み込まれたアダプターモデルを参照するために使用するアダプター名。指定しない場合、読み込まれるアダプターの総数を i として default_{i} が使用されます。
  • low_cpu_mem_usage (bool、省略可) — 事前学習済み LoRA 重みのみを読み込み、ランダム重みの初期化を行わないことで、モデルの読み込みを高速化します。
  • hotswap (bool、省略可) — load_lora_weights()を参照してください。
  • metadata (dict) — 任意の LoRA アダプターメタデータ。指定された場合、peft の LoraConfig 引数は state dict から導出されません。

これにより、state_dictで指定されたLoRAレイヤーがtext_encoderに読み込まれます。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Nonetext_encoder_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Nonetext_encoder_2_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata = Nonetext_encoder_lora_adapter_metadata = Nonetext_encoder_2_lora_adapter_metadata = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer', 'text_encoder', 'text_encoder_2']**kwargs )

詳細については、unfuse_lora()を参照してください。

FluxLoraLoaderMixin

class diffusers.loaders.FluxLoraLoaderMixin

< >

( )

LoRAレイヤーをFluxTransformer2DModel、CLIPTextModelに読み込みます。

FluxPipelineに固有のものです。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、lora_state_dict()を参照してください。

load_lora_into_text_encoder

< >

( state_dictnetwork_alphastext_encoderprefix = Nonelora_scale = 1.0adapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

パラメータ

  • state_dict (dict) — LoRAレイヤーのパラメータを含む標準的なstate dictです。unetのLoRAレイヤーと区別するために、キーにはtext_encoderというプレフィックスを付加する必要があります。
  • network_alphas (dict[str, float]) — 安定した学習とアンダーフローの防止に使用されるネットワークアルファの値です。この値は、kohya-ss トレーナースクリプトの --network_alpha オプションと同じ意味を持ちます。このリンクを参照してください。
  • text_encoder (CLIPTextModel) — LoRA層を読み込む対象のテキストエンコーダーモデル。
  • prefix (str) — state_dict における text_encoder の想定されるプレフィックス。
  • lora_scale (float) — 通常の lora レイヤーの出力に lora 線形レイヤーの出力を加算する前に、その出力をどの程度スケーリングするかを示します。
  • adapter_name (str, 省略可) — 読み込まれたアダプターモデルを参照するために使用するアダプター名。指定しない場合、読み込まれるアダプターの総数を i として default_{i} が使用されます。
  • low_cpu_mem_usage (bool、省略可) — 事前学習済み LoRA 重みのみを読み込み、ランダム重みの初期化を行わないことで、モデルの読み込みを高速化します。
  • hotswap (bool、省略可) — load_lora_weights()を参照してください。
  • metadata (dict) — 任意の LoRA アダプターメタデータ。指定された場合、peft の LoraConfig 引数は state dict から導出されません。

これにより、state_dictで指定されたLoRAレイヤーがtext_encoderに読み込まれます。

load_lora_into_transformer

< >

( state_dictnetwork_alphastransformeradapter_name = Nonemetadata = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = False )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]return_alphas: bool = False**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Nonetext_encoder_lora_layers: dict[str, torch.nn.Module] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata = Nonetext_encoder_lora_adapter_metadata = None )

パラメータ

  • save_directory (str または os.PathLike) — LoRA パラメータを保存するディレクトリ。存在しない場合は作成されます。
  • transformer_lora_layers (dict[str, torch.nn.Module] または dict[str, torch.Tensor]) — transformer に対応する LoRA レイヤーの state dict。
  • text_encoder_lora_layers (dict[str, torch.nn.Module] または dict[str, torch.Tensor]) — text_encoder に対応する LoRA レイヤーの state dict です。🤗 Transformers から由来するため、テキストエンコーダーの LoRA state dict を明示的に渡す必要があります。
  • is_main_process (bool、任意、デフォルトは True) — この関数を呼び出しているプロセスがメインプロセスかどうかを示します。分散学習時に、この関数をすべてのプロセスで呼び出す必要がある場合に便利です。この場合、競合状態を避けるために、メインプロセスでのみ is_main_process=True を設定してください。
  • save_function (Callable) — 状態辞書を保存するために使用する関数です。分散学習時にtorch.saveを別のメソッドに置き換える必要がある場合に便利です。環境変数DIFFUSERS_SAVE_MODEで設定できます。
  • safe_serialization (bool、任意、デフォルトはTrue) — safetensorsを使用してモデルを保存するか、従来のpickleによるPyTorchの方式で保存するかどうかを指定します。
  • transformer_lora_adapter_metadata — state dict と一緒にシリアライズされる、transformer に関連付けられた LoRA アダプターのメタデータ。
  • text_encoder_lora_adapter_metadata — テキストエンコーダーに関連付けられたLoRAアダプターのメタデータ。ステートディクトとともにシリアライズされます。

UNetおよびテキストエンコーダーに対応するLoRAパラメータを保存します。

unfuse_lora

< >

( components: list[str] = ['transformer', 'text_encoder']**kwargs )

パラメータ

  • components (list[str]) — LoRAをアンフュージョンする対象の、LoRA注入可能なコンポーネントのリスト。

pipe.fuse_lora() の効果を逆転します。

unload_lora_weights

< >

( reset_to_overwritten_params = False )

パラメータ

  • reset_to_overwritten_params (bool、デフォルトはFalse) — LoRAで読み込まれたモジュールを元のパラメータにリセットするかどうか。Fluxのドキュメントを参照してください。

LoRAパラメータをアンロードします。

例:

>>> # Assuming `pipeline` is already loaded with the LoRA parameters.
>>> pipeline.unload_lora_weights()
>>> ...

Flux2LoraLoaderMixin

class diffusers.loaders.Flux2LoraLoaderMixin

< >

( )

Flux2Transformer2DModelにLoRAレイヤーを読み込みます。Flux2Pipeline固有の機能です。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

Flux3LoraLoaderMixin

クラス diffusers.loaders.Flux3LoraLoaderMixin

< >

( )

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

BriaFibo2LoraLoaderMixin

class diffusers.loaders.BriaFibo2LoraLoaderMixin

< >

( )

BriaFibo2Transformer2DModelにLoRAレイヤーを読み込みます。BriaFibo2Pipeline固有の機能です。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

ErnieImageLoraLoaderMixin

class diffusers.loaders.ErnieImageLoraLoaderMixin

< >

( )

ErnieImagePipelineに固有の処理として、LoRAレイヤーをErnieImageTransformer2DModelに読み込みます。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

LTX2LoraLoaderMixin

クラス diffusers.loaders.LTX2LoraLoaderMixin

< >

( )

LTX2VideoTransformer3DModelにLoRAレイヤーを読み込みます。LTX2Pipeline固有の機能です。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = Noneprefix: str = 'transformer' )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

CogVideoXLoraLoaderMixin

クラス diffusers.loaders.CogVideoXLoraLoaderMixin

< >

( )

CogVideoXTransformer3DModelにLoRAレイヤーを読み込みます。CogVideoXPipeline固有の機能です。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

Mochi1LoraLoaderMixin

クラス diffusers.loaders.Mochi1LoraLoaderMixin

< >

( )

MochiTransformer3DModelにLoRAレイヤーを読み込みます。MochiPipeline固有の機能です。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

AuraFlowLoraLoaderMixin

クラス diffusers.loaders.AuraFlowLoraLoaderMixin

< >

( )

AuraFlowTransformer2DModel に LoRA レイヤーを読み込みます。AuraFlowPipeline 固有の機能です。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer', 'text_encoder']**kwargs )

詳細については、unfuse_lora()を参照してください。

LTXVideoLoraLoaderMixin

クラス diffusers.loaders.LTXVideoLoraLoaderMixin

< >

( )

LoRAレイヤーをLTXVideoTransformer3DModelに読み込みます。LTXPipeline固有の機能です。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

SanaLoraLoaderMixin

クラス diffusers.loaders.SanaLoraLoaderMixin

< >

( )

SanaTransformer2DModelにLoRAレイヤーを読み込みます。SanaPipeline固有の機能です。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

HeliosLoraLoaderMixin

class diffusers.loaders.HeliosLoraLoaderMixin

< >

( )

HeliosTransformer3DModelにLoRAレイヤーを読み込みます。HeliosPipelineおよびHeliosPyramidPipeline固有の機能です。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

HunyuanVideoLoraLoaderMixin

クラス diffusers.loaders.HunyuanVideoLoraLoaderMixin

< >

( )

HunyuanVideoTransformer3DModelにLoRAレイヤーを読み込みます。HunyuanVideoPipeline固有の機能です。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

Lumina2LoraLoaderMixin

クラス diffusers.loaders.Lumina2LoraLoaderMixin

< >

( )

Lumina2Transformer2DModelにLoRAレイヤーを読み込みます。Lumina2Pipeline固有の機能です。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

CogView4LoraLoaderMixin

クラス diffusers.loaders.CogView4LoraLoaderMixin

< >

( )

LoRAレイヤーをWanTransformer3DModelに読み込みます。CogView4Pipeline固有の機能です。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

WanLoraLoaderMixin

class diffusers.loaders.WanLoraLoaderMixin

< >

( )

LoRAレイヤーをWanTransformer3DModelに読み込みます。WanPipelineと[WanImageToVideoPipelineに固有の機能です。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

SkyReelsV2LoraLoaderMixin

クラス diffusers.loaders.SkyReelsV2LoraLoaderMixin

< >

( )

LoRAレイヤーをSkyReelsV2Transformer3DModelに読み込みます。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

AmusedLoraLoaderMixin

class diffusers.loaders.AmusedLoraLoaderMixin

< >

( )

load_lora_into_transformer

< >

( state_dictnetwork_alphastransformeradapter_name = Nonemetadata = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = False )

詳細については、load_lora_into_unet()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketext_encoder_lora_layers: dict[str, torch.nn.Module] = Nonetransformer_lora_layers: dict[str, torch.nn.Module] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = True )

パラメータ

  • save_directory (str または os.PathLike) — LoRA パラメータを保存するディレクトリ。存在しない場合は作成されます。
  • unet_lora_layers (dict[str, torch.nn.Module] または dict[str, torch.Tensor]) — unet に対応する LoRA レイヤーの state dict です。
  • text_encoder_lora_layers (dict[str, torch.nn.Module] または dict[str, torch.Tensor]) — text_encoder に対応する LoRA レイヤーの state dict です。🤗 Transformers から由来するため、テキストエンコーダーの LoRA state dict を明示的に渡す必要があります。
  • is_main_process (bool、任意、デフォルトは True) — この関数を呼び出しているプロセスがメインプロセスかどうかを示します。分散学習時に、この関数をすべてのプロセスで呼び出す必要がある場合に便利です。この場合、競合状態を避けるために、メインプロセスでのみ is_main_process=True を設定してください。
  • save_function (Callable) — 状態辞書を保存するために使用する関数です。分散学習時にtorch.saveを別のメソッドに置き換える必要がある場合に便利です。環境変数DIFFUSERS_SAVE_MODEで設定できます。
  • safe_serialization (bool、任意、デフォルトはTrue) — safetensorsを使用してモデルを保存するか、従来のpickleによるPyTorchの方式で保存するかどうかを指定します。

UNetおよびテキストエンコーダーに対応するLoRAパラメータを保存します。

AnimaLoraLoaderMixin

class diffusers.loaders.AnimaLoraLoaderMixin

< >

( )

LoRAレイヤーをCosmosTransformer3DModelとAnimaTextConditionerに読み込みます。

fuse_lora

< >

( components: list[str] = ['transformer', 'text_conditioner']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer', 'text_conditioner']**kwargs )

詳細については、unfuse_lora()を参照してください。

AceStepLoraLoaderMixin

クラス diffusers.loaders.AceStepLoraLoaderMixin

< >

( )

AceStepTransformer1DModelにLoRA層を読み込みます。AceStepPipeline固有の機能です。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

HiDreamImageLoraLoaderMixin

class diffusers.loaders.HiDreamImageLoraLoaderMixin

< >

( )

HiDreamImageTransformer2DModelにLoRAレイヤーを読み込みます。HiDreamImagePipeline固有の機能です。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

QwenImageLoraLoaderMixin

クラス diffusers.loaders.QwenImageLoraLoaderMixin

< >

( )

QwenImageTransformer2DModelにLoRAレイヤーを読み込みます。QwenImagePipeline固有の機能です。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

ZImageLoraLoaderMixin

class diffusers.loaders.ZImageLoraLoaderMixin

< >

( )

LoRAレイヤーをZImageTransformer2DModelに読み込みます。ZImagePipeline固有の機能です。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

CosmosLoraLoaderMixin

クラス diffusers.loaders.CosmosLoraLoaderMixin

< >

( )

CosmosTransformer3DModelにLoRA層を読み込みます。Cosmos2_5_PredictBasePipeline固有の処理です。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

KandinskyLoraLoaderMixin

class diffusers.loaders.KandinskyLoraLoaderMixin

< >

( )

Kandinsky5Transformer3DModelにLoRA層を読み込み、

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

Ideogram4LoraLoaderMixin

class diffusers.loaders.Ideogram4LoraLoaderMixin

< >

( )

Ideogram4Transformer2DModel に LoRA レイヤーを読み込みます。Ideogram4Pipeline 固有の機能です。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

Krea2LoraLoaderMixin

クラス diffusers.loaders.Krea2LoraLoaderMixin

< >

( )

Krea2Transformer2DModelにLoRAレイヤーを読み込みます。Krea2Pipeline固有の機能です。

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

詳細については、load_lora_weights()を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

詳細については、save_lora_weights()を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

詳細については、unfuse_lora()を参照してください。

MiniMaxH3LoraLoaderMixin

クラス diffusers.loaders.MiniMaxH3LoraLoaderMixin

< >

( )

MiniMaxH3Transformer3DModelにLoRAレイヤーを読み込みます。MiniMaxH3ModularPipeline固有の機能です。

MiniMax-H3には、モジュール名が同一の2つの独立したDiTパーティションが同梱されています(片方のLoRAをもう片方に読み込むと出力が劣化するため)、ルーティングは明示的に行われます。変換済みstate dictはtransformer.をターゲットとし、transformer_refにはtransformer_ref.プレフィックス付きのファイル、またはload_into_transformer_ref=Trueを指定してアクセスします。

DiffSynth-Studio LoRA(例: DiffSynth-Studio/MiniMax-H3-LoRA-LineartAnime)は、生のチェックポイントのヘッドごとにインターリーブされた融合 QKV に対して学習されており、変換時にデインターリーブされます。これらの fp32 係数により、非融合 LoRA パスでの計算が fp32 で行われます。読み込み後にモデルに対して .to(torch.bfloat16) を適用することで、bf16 のメモリ予算を回復できます。

プルーニング済みチェックポイント(Comfy-Org/MiniMax-H3 内の *_pruned_* ファイル。その一つが joyfox/MiniMax-H3-Turbo)に対して学習された LoRA は、サイズ不一致で失敗します。 Alpha 情報を持たないファイルは alpha == rank(スケール 1.0。例えば larryvrh/MiniMax-H3-Turbo-Lora が明記している慣例)で読み込まれます。一方、__metadata__ に alpha エントリ(例えば lightx2v/Minimax-h3-Turbo の 8 ステップファイル)が存在する場合は、その値が優先的に使用されます。

fuse_lora

< >

( components: list[str] = ['transformer', 'transformer_ref']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

詳細については、fuse_lora()を参照してください。

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

詳細については、load_lora_into_unet()を参照してください。

load_lora_into_transformer_ref

< >

( state_dicttransformer_refprefixadapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

transformer_ref パーティションに LoRA レイヤーを読み込みます。prefix はキーが持つコンポーネント名で、パーティション名を指定するファイルでは transformer_ref、load_into_transformer_ref=True によってここにルーティングされるファイルでは transformer になります。詳細は load_lora_into_unet() を参照してください。

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = Falseload_into_transformer_ref: bool = False**kwargs )

パラメータ

  • load_into_transformer_ref (bool、デフォルトはFalse) — transformer.プレフィックスのレイヤーをtransformerではなく、ref2vaワークフローがデノイズに使用するtransformer_refパーティションに読み込みます。両方のパーティションが読み込まれている場合のみ必要です。transformer_refのみを保持するパイプラインは、自動的にそちらにルーティングします。

transformer に LoRA 層を読み込みます。load_into_transformer_ref=True を指定すると、transformer_ref に読み込まれます。詳細は load_lora_weights() を参照してください。

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

詳細については、lora_state_dict()を参照してください。

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Nonetransformer_ref_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = Nonetransformer_ref_lora_adapter_metadata: dict | None = None )

MiniMax-H3 の1つのパーティション、または両方のパーティションの LoRA 層を保存します。LoRA がどのパーティションに属するかは、そのキーからは復元できないため、これを記録した H3 LoRA を公開するには、これが唯一の方法です。詳細は save_lora_weights() を参照してください。

unfuse_lora

< >

( components: list[str] = ['transformer', 'transformer_ref']**kwargs )

詳細については、unfuse_lora()を参照してください。

PikaH3FlexLoraLoaderMixin

クラス diffusers.loaders.PikaH3FlexLoraLoaderMixin

< >

( )

MiniMaxH3Transformer3DModelにLoRAレイヤーを読み込みます。PikaH3FlexModularPipeline固有の機能です。

Pika H3 Flex のリリースは、2 つの MiniMax-H3 トランスフォーマーパーティションに対する rank-128 のアダプターペアであり、diffusers のモジュール名をそのまま使ったプレーンな PEFT ダンプとして公開されています(transformer には fl2va/adapter.safetensors、transformer_ref には ref2va/adapter.safetensors)。alpha を含まないファイルは alpha == rank(スケール 1.0)で読み込まれ、これはアダプター自身の契約です。読み込み、ルーティング、保存は MiniMaxH3LoraLoaderMixin のものと同様で、fl2va アダプターは transformer に入り、ref2va アダプターは transformer_ref に入ります。パイプラインがそのパーティションのみを保持している場合(workflow="ref2va")は単独で、両方を保持している場合は load_into_transformer_ref=True を指定して読み込まれます。

pipe.load_lora_weights("Pika-Labs/Pika-H3-Flex", weight_name="fl2va/adapter.safetensors")

LoraBaseMixin

class diffusers.loaders.lora_base.LoraBaseMixin

< >

( )

LoRAの処理を行うユーティリティクラスです。

delete_adapters

< >

( adapter_names: list[str] | str )

パラメータ

  • adapter_names (list[str, str]) — 削除するアダプターの名前です。

パイプラインからアダプターのLoRA層を削除します。

例:

from diffusers import AutoPipelineForText2Image
import torch

pipeline = AutoPipelineForText2Image.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16
).to("cuda")
pipeline.load_lora_weights(
    "jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_names="cinematic"
)
pipeline.delete_adapters("cinematic")

disable_lora

< >

( )

パイプラインのアクティブなLoRAレイヤーを無効にします。

例:

from diffusers import AutoPipelineForText2Image
import torch

pipeline = AutoPipelineForText2Image.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16
).to("cuda")
pipeline.load_lora_weights(
    "jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_name="cinematic"
)
pipeline.disable_lora()

enable_lora

< >

( )

パイプラインのアクティブなLoRAレイヤーを有効にします。

例:

from diffusers import AutoPipelineForText2Image
import torch

pipeline = AutoPipelineForText2Image.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16
).to("cuda")
pipeline.load_lora_weights(
    "jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_name="cinematic"
)
pipeline.enable_lora()

enable_lora_hotswap

< >

( **kwargs )

パラメータ

  • target_rank (int) — 読み込まれるすべてのアダプターの中で最も高いランクです。
  • check_compiled (str, 省略可能, デフォルトは "error") — すでにコンパイル済みのモデルをどのように処理するか。チェックは以下のメッセージを返す可能性があります:
    • “error”(デフォルト):エラーを発生させます
    • “warn”: 警告を発行します
    • “ignore”: 何もしない

モデルの再コンパイルをトリガーせずに、または読み込まれたアダプターのランクが異なる場合でも、アダプターをホットスワップできます。

fuse_lora

< >

( components: list[str] | None = Nonelora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

パラメータ

  • components — (list[str]): LoRA を融合する対象の、LoRA 注入可能なコンポーネントのリスト。
  • lora_scale (float, デフォルト値は 1.0) — LoRA パラメータによる出力への影響度を制御します。
  • safe_fusing (bool、デフォルトはFalse) — 融合前に融合された重みのNaN値をチェックし、NaN値が含まれている場合は融合しないかどうかを指定します。
  • adapter_names (list[str], 省略可) — 融合に使用するアダプター名です。何も指定しない場合、すべてのアクティブなアダプターが融合されます。

対応するブロックの元のパラメータにLoRAパラメータを融合します。

例:

from diffusers import DiffusionPipeline
import torch

pipeline = DiffusionPipeline.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16
).to("cuda")
pipeline.load_lora_weights("nerijs/pixel-art-xl", weight_name="pixel-art-xl.safetensors", adapter_name="pixel")
pipeline.fuse_lora(lora_scale=0.7)

get_active_adapters

< >

( )

現在アクティブなアダプターのリストを取得します。

例:

from diffusers import DiffusionPipeline

pipeline = DiffusionPipeline.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0",
).to("cuda")
pipeline.load_lora_weights("CiroN2022/toy-face", weight_name="toy_face_sdxl.safetensors", adapter_name="toy")
pipeline.get_active_adapters()

get_list_adapters

< >

( )

パイプライン内で現在利用可能なすべてのアダプターの一覧を取得します。

set_adapters

< >

( adapter_names: list[str] | stradapter_weights: float | dict[str, float | dict | None] | list[float | dict[str, float | dict | None] | None] | None = None )

パラメータ

  • adapter_names (list[str] または str) — 使用するアダプターの名前です。
  • adapter_weights (float、dictまたはlist、省略可) — アダプター用の重みです。スカラー値を指定すると、すべてのLoRA互換コンポーネントがその値でスケーリングされます。辞書を指定すると、コンポーネント名(例: "unet"、"transformer"または"text_encoder")をキーに重みをマッピングします。UNetコンポーネントの重みは、ブロックのスケーリングを格納したネストされた辞書としても指定できます。スカラーまたは辞書を1つだけ指定すると、すべてのアダプターに適用されます。リストを指定する場合は、adapter_namesの順序に従って、アダプターごとにスカラー、辞書、またはNoneを1つずつ含める必要があります。Noneは、リストの要素やコンポーネントの重みを含むすべての場合で、デフォルト値1.0になります。指定されていないコンポーネントやUNetのブロックも、デフォルト値は1.0です。

パイプラインで使用するために、現在アクティブなアダプターを設定します。

例:

from diffusers import AutoPipelineForText2Image
import torch

pipeline = AutoPipelineForText2Image.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16
).to("cuda")
pipeline.load_lora_weights(
    "jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_name="cinematic"
)
pipeline.load_lora_weights(
    "troveski/sdxl-lora", weight_name="pytorch_lora_weights.safetensors", adapter_name="illustration"
)
pipeline.set_adapters(["cinematic", "illustration"], adapter_weights=[0.5, 0.5])
pipeline.set_adapters(
    ["cinematic", "illustration"],
    adapter_weights=[{"unet": 0.5}, {"unet": 0.8, "text_encoder": 0.6}],
)

set_lora_device

< >

( adapter_names: list[str]device: torch.device | str | int )

パラメータ

  • adapter_names (list[str]) — デバイスに送信するアダプターのリスト。
  • device (torch.device | str | int) — アダプターを送信するデバイス。torchのデバイス、文字列、または整数のいずれかです。

adapter_names にリストされている LoRA をターゲットデバイスに移動します。複数のアダプターを読み込んで GPU メモリを解放したい場合に、LoRA を CPU にオフロードするために便利です。

LoRAアダプターをCPUにオフロードした後、モデルの残りがまだGPU上に存在する限り、デバイス不一致が発生するため、LoRAアダプターは推論に使用できなくなります。これらのLoRAアダプターを推論に使用する前に、デバイスをGPUに設定し直すことを忘れないでください。

>>> pipe.load_lora_weights(path_1, adapter_name="adapter-1")
>>> pipe.load_lora_weights(path_2, adapter_name="adapter-2")
>>> pipe.set_adapters("adapter-1")
>>> image_1 = pipe(**kwargs)
>>> # switch to adapter-2, offload adapter-1
>>> pipeline.set_lora_device(adapter_names=["adapter-1"], device="cpu")
>>> pipeline.set_lora_device(adapter_names=["adapter-2"], device="cuda:0")
>>> pipe.set_adapters("adapter-2")
>>> image_2 = pipe(**kwargs)
>>> # switch back to adapter-1, offload adapter-2
>>> pipeline.set_lora_device(adapter_names=["adapter-2"], device="cpu")
>>> pipeline.set_lora_device(adapter_names=["adapter-1"], device="cuda:0")
>>> pipe.set_adapters("adapter-1")
>>> ...

unfuse_lora

< >

( components: list[str] | None = None**kwargs )

パラメータ

  • components (list[str]) — LoRAをアンフュージョンする対象の、LoRA注入可能なコンポーネントのリスト。
  • unfuse_unet (bool、デフォルトはTrue) — UNetのLoRAパラメータをアンフュージョンするかどうかを指定します。
  • unfuse_text_encoder (bool、デフォルトはTrue) — テキストエンコーダーのLoRAパラメータをアンフュージョンするかどうか。テキストエンコーダーがLoRAパラメータでモンキーパッチされていない場合、この設定は効果を持ちません。

pipe.fuse_lora() の効果を逆転します。

unload_lora_weights

< >

( )

LoRAパラメータをアンロードします。

例:

>>> # Assuming `pipeline` is already loaded with the LoRA parameters.
>>> pipeline.unload_lora_weights()
>>> ...

write_lora_layers

< >

( state_dict: dict[str, torch.Tensor]save_directory: stris_main_process: boolweight_name: strsave_function: Callablesafe_serialization: boollora_adapter_metadata: dict | None = None )

LoRA層のstate dictを(メタデータ付きで)ディスクに書き込みます。

Update on GitHub