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.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

LoRA

LoRA é um método de treinamento rápido e leve que insere e treina um número significativamente menor de parâmetros, em vez de todos os parâmetros do modelo. Isso gera um arquivo menor (~100 MBs) e facilita o treinamento rápido de um modelo para aprender um novo conceito. Os pesos do LoRA são tipicamente carregados no denoiser, no text encoder ou em ambos. O denoiser geralmente corresponde a um UNet (UNet2DConditionModel, por exemplo) ou a um Transformer (SD3Transformer2DModel, por exemplo). Existem várias classes para carregar pesos do LoRA:

  • StableDiffusionLoraLoaderMixin fornece funções para carregar e descarregar, fundir e desfazer a fusão, habilitar e desabilitar, além de outras funções para gerenciar pesos LoRA. Esta classe pode ser usada com qualquer modelo.
  • StableDiffusionXLLoraLoaderMixin é uma versão Stable Diffusion (SDXL) da classe StableDiffusionLoraLoaderMixin para carregar e salvar pesos de LoRA. Ela só pode ser usada com o modelo SDXL.
  • SD3LoraLoaderMixin fornece funções semelhantes para Stable Diffusion 3.
  • FluxLoraLoaderMixin fornece funções semelhantes para Flux.
  • CogVideoXLoraLoaderMixin fornece funções semelhantes para CogVideoX.
  • Mochi1LoraLoaderMixin fornece funções semelhantes para Mochi.
  • AuraFlowLoraLoaderMixin fornece funções semelhantes para AuraFlow.
  • LTXVideoLoraLoaderMixin fornece funções semelhantes para LTX-Video.
  • SanaLoraLoaderMixin fornece funções semelhantes para Sana.
  • HeliosLoraLoaderMixin fornece funções semelhantes para HunyuanVideo.
  • HunyuanVideoLoraLoaderMixin fornece funções semelhantes para HunyuanVideo.
  • Lumina2LoraLoaderMixin fornece funções semelhantes para Lumina2.
  • WanLoraLoaderMixin fornece funções semelhantes para Wan.
  • SkyReelsV2LoraLoaderMixin fornece funções semelhantes para SkyReels-V2.
  • CogView4LoraLoaderMixin fornece funções semelhantes para CogView4.
  • AmusedLoraLoaderMixin é para o AmusedPipeline.
  • AnimaLoraLoaderMixin fornece funções semelhantes para Anima.
  • AceStepLoraLoaderMixin fornece funções semelhantes para ACE-Step.
  • HiDreamImageLoraLoaderMixin fornece funções semelhantes para HiDream Image
  • QwenImageLoraLoaderMixin fornece funções semelhantes para Qwen Image.
  • ZImageLoraLoaderMixin fornece funções semelhantes para Z-Image.
  • Flux2LoraLoaderMixin fornece funções semelhantes para Flux2.
  • ErnieImageLoraLoaderMixin fornece funções semelhantes para Ernie-Image.
  • LTX2LoraLoaderMixin fornece funções semelhantes para Flux2.
  • MiniMaxH3LoraLoaderMixin fornece funções semelhantes para MiniMax-H3.
  • PikaH3FlexLoraLoaderMixin fornece funções semelhantes para Pika H3 Flex.
  • RFD4ProteinaLoraLoaderMixin fornece funções semelhantes para RFD4-Proteína.
  • BriaFibo2LoraLoaderMixin fornece funções semelhantes para fibo-2.
  • LoraBaseMixin fornece uma classe base com vários métodos utilitários para fundir, desfazer a fusão, descarregar LoRAs e mais.

Para saber mais sobre como carregar pesos LoRA, consulte o guia de carregamento de LoRA.

RFD4ProteinaLoraLoaderMixin

classe diffusers.loaders.RFD4ProteinaLoraLoaderMixin

< >

( )

Carregue as camadas LoRA em RFD4ProteinaTransformer.

O autoencoder é pareado com o checkpoint do denoiser e não é adaptado, portanto, o transformer é o único módulo carregável.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

LoraBaseMixin

classe diffusers.loaders.lora_base.LoraBaseMixin

< >

( )

Classe utilitária para lidar com LoRAs.

delete_adapters

< >

( adapter_names: list[str] | str )

Parâmetros

  • adapter_names (list[str, str]) — Os nomes dos adaptadores a serem excluídos.

Exclua as camadas LoRA de um adaptador do pipeline.

Exemplo:

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

< >

( )

Desativa as camadas LoRA ativas do pipeline.

Exemplo:

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

< >

( )

Ativa as camadas LoRA ativas do pipeline.

Exemplo:

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 )

Parâmetros

  • target_rank (int) — O maior rank entre todos os adaptadores que serão carregados.
  • check_compiled (str, opcional, padrão é "error") — Como lidar com um modelo que já está compilado. A verificação pode retornar as seguintes mensagens:
    • “error” (padrão): levanta um erro
    • “warn”: emitir um aviso
    • “ignore”: não fazer nada

Troque adaptadores a quente sem acionar a recompilação de um modelo ou quando as classes dos adaptadores carregados forem diferentes.

fuse_lora

< >

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

Parâmetros

  • components — (list[str]): lista de componentes injetáveis com LoRA nos quais fundir os LoRAs.
  • lora_scale (float, padrão 1.0) — Controla o quanto os parâmetros do LoRA influenciam as saídas.
  • safe_fusing (bool, padrão False) — Se deve verificar os pesos fundidos em busca de valores NaN antes da fusão e, se os valores forem NaN, não fundi-los.
  • adapter_names (list[str], opcional) — Nomes dos adaptadores a serem usados para fusão. Se nada for passado, todos os adaptadores ativos serão fundidos.

Funde os parâmetros do LoRA nos parâmetros originais dos blocos correspondentes.

Exemplo:

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

< >

( )

Obtém a lista dos adaptadores ativos atuais.

Exemplo:

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

< >

( )

Obtém a lista atual de todos os adaptadores disponíveis no pipeline.

set_adapters

< >

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

Parâmetros

  • adapter_names (list[str] ou str) — Os nomes dos adaptadores a serem usados.
  • adapter_weights (float, dict ou list, opcional) — Pesos para os adaptadores. Um escalar escala todos os componentes compatíveis com LoRA. Um dicionário mapeia nomes de componentes (p. ex., "unet", "transformer" ou "text_encoder") para pesos; o peso de um componente UNet também pode ser um dicionário aninhado de escalas de blocos. Um único escalar ou dicionário é aplicado a cada adaptador. Uma lista deve conter um escalar, dicionário ou None por adaptador, na ordem de adapter_names. None tem valor padrão de 1.0, incluindo entradas de lista e pesos de componentes. Componentes não especificados e blocos UNet também têm valor padrão de 1.0.

Defina os adaptadores atualmente ativos para uso no pipeline.

Exemplo:

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 )

Parâmetros

  • adapter_names (list[str]) — lista de adaptadores para enviar para o dispositivo.
  • device (torch.device | str | int) — Dispositivo para onde enviar os adaptadores. Pode ser um dispositivo torch, uma str ou um inteiro.

Move os LoRAs listados em adapter_names para um dispositivo de destino. Útil para descarregar o LoRA para a CPU, caso você queira carregar vários adaptadores e liberar alguma memória de GPU.

Após descarregar os adaptadores LoRA para a CPU, desde que o restante do modelo ainda esteja na GPU, os adaptadores LoRA não podem mais ser usados para inferência, pois isso causaria uma incompatibilidade de dispositivo. Lembre-se de definir o dispositivo de volta para a GPU antes de usar esses adaptadores LoRA para inferência.

>>> 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 )

Parâmetros

  • components (list[str]) — lista dos componentes injetáveis de LoRA dos quais desfazer a fusão do LoRA.
  • unfuse_unet (bool, padrão True) — Se deve desfazer a fusão dos parâmetros LoRA do UNet.
  • unfuse_text_encoder (bool, padrão True) — Se deve desfazer a fusão dos parâmetros LoRA do codificador de texto. Se o codificador de texto não foi modificado com os parâmetros LoRA, isso não terá nenhum efeito.

Reverte o efeito de pipe.fuse_lora().

unload_lora_weights

< >

( )

Descarrega os parâmetros do LoRA.

Exemplos:

>>> # 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 )

Escreve o state dict das camadas LoRA (opcionalmente com metadados) no disco.

StableDiffusionLoraLoaderMixin

classe diffusers.loaders.StableDiffusionLoraLoaderMixin

< >

( )

Carregue as camadas LoRA no UNet2DConditionModel e no CLIPTextModel do Stable Diffusion.

load_lora_into_text_encoder

< >

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

Parâmetros

  • state_dict (dict) — Um state dict padrão contendo os parâmetros das camadas lora. A chave deve ser prefixada com um text_encoder adicional para distinguir entre as camadas lora do unet.
  • network_alphas (dict[str, float]) — O valor do alpha da rede usado para aprendizado estável e prevenção de underflow. Este valor tem o mesmo significado que a opção --network_alpha no script de treinamento do kohya-ss. Consulte este link.
  • text_encoder (CLIPTextModel) — O modelo de codificador de texto no qual as camadas LoRA serão carregadas.
  • prefix (str) — Prefixo esperado do text_encoder no state_dict.
  • lora_scale (float) — Quanto escalar a saída da camada linear lora antes de somá-la à saída da camada lora regular.
  • adapter_name (str, opcional) — Nome do adaptador a ser usado para referenciar o modelo de adaptador carregado. Se não for especificado, será usado default_{i}, onde i é o número total de adaptadores sendo carregados.
  • low_cpu_mem_usage (bool, opcional) — Acelera o carregamento do modelo carregando apenas os pesos LoRA pré-treinados e não inicializando os pesos aleatórios.
  • hotswap (bool, opcional) — Veja load_lora_weights().
  • metadata (dict) — Metadados opcionais do adaptador LoRA. Quando fornecidos, os argumentos de LoraConfig do peft não serão derivados do state dict.

Isso carregará as camadas LoRA especificadas em state_dict em text_encoder

load_lora_into_unet

< >

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

Parâmetros

  • state_dict (dict) — Um state dict padrão contendo os parâmetros das camadas lora. As chaves podem ser indexadas diretamente no unet ou prefixadas com um unet adicional, o que pode ser usado para distinguir entre as camadas lora do text encoder.
  • network_alphas (dict[str, float]) — O valor do alpha da rede usado para aprendizado estável e prevenção de underflow. Este valor tem o mesmo significado que a opção --network_alpha no script de treinamento do kohya-ss. Consulte este link.
  • unet (UNet2DConditionModel) — O modelo UNet em que as camadas LoRA serão carregadas.
  • adapter_name (str, opcional) — Nome do adaptador a ser usado para referenciar o modelo de adaptador carregado. Se não for especificado, será usado default_{i}, onde i é o número total de adaptadores sendo carregados.
  • low_cpu_mem_usage (bool, opcional) — Acelera o carregamento do modelo carregando apenas os pesos LoRA pré-treinados e não inicializando os pesos aleatórios.
  • hotswap (bool, opcional) — Veja load_lora_weights().
  • metadata (dict) — Metadados opcionais do adaptador LoRA. Quando fornecidos, os argumentos de LoraConfig do peft não serão derivados do state dict.

Isso carregará as camadas LoRA especificadas em state_dict em unet.

load_lora_weights

< >

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

Parâmetros

  • pretrained_model_name_or_path_or_dict (str ou os.PathLike ou dict) — Veja lora_state_dict().
  • adapter_name (str, opcional) — Nome do adaptador a ser usado para referenciar o modelo de adaptador carregado. Se não for especificado, será usado default_{i}, onde i é o número total de adaptadores sendo carregados.
  • low_cpu_mem_usage (bool, opcional) — Acelera o carregamento do modelo carregando apenas os pesos LoRA pré-treinados e não inicializando os pesos aleatórios.
  • hotswap (bool, opcional) — Padrão é False. Se deve substituir um adaptador (LoRA) existente pelo adaptador recém-carregado no local. Isso significa que, em vez de carregar um adaptador adicional, isso pegará os pesos do adaptador existente e os substituirá pelos pesos do novo adaptador. Isso pode ser mais rápido e eficiente em termos de memória. No entanto, a principal vantagem do hotswap é que, quando o modelo é compilado com torch.compile, o carregamento do novo adaptador não requer a recompilação do modelo. Ao usar hotswap, o adapter_name deve ser o nome de um adaptador já carregado.

    Se o novo adaptador e o antigo tiverem ranks e/ou alphas LoRA diferentes (ou seja, escalonamento), você precisa chamar um método adicional antes de carregar o adaptador:

Carrega os pesos LoRA especificados em pretrained_model_name_or_path_or_dict para self.unet e self.text_encoder.

Todos os kwargs são encaminhados para self.lora_state_dict.

Veja lora_state_dict() para mais detalhes sobre como o state dict é carregado.

Veja load_lora_into_unet() para mais detalhes sobre como o state dict é carregado em self.unet.

Veja load_lora_into_text_encoder() para mais detalhes sobre como o state dict é carregado em self.text_encoder.

lora_state_dict

< >

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

Parâmetros

  • pretrained_model_name_or_path_or_dict (str ou os.PathLike ou dict) — Pode ser:
    • Uma string, o id do modelo (por exemplo, google/ddpm-celebahq-256) de um modelo pré-treinado hospedado no Hub.
    • Um caminho para um diretório (por exemplo, ./my_model_directory) contendo os pesos do modelo salvos com ModelMixin.save_pretrained().
    • Um torch state dict.
  • cache_dir (str | os.PathLike, opcional) — Caminho para um diretório onde a configuração de um modelo pré-treinado baixado é armazenada em cache, caso o cache padrão não seja utilizado.
  • force_download (bool, opcional, padrão False) — Se deve forçar o (re-)download dos pesos do modelo e dos arquivos de configuração, sobrescrevendo as versões em cache, caso existam.
  • proxies (dict[str, str], opcional) — Um dicionário de servidores proxy a serem usados por protocolo ou endpoint, por exemplo, {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Os proxies são usados em cada solicitação.
  • local_files_only (bool, opcional, padrão False) — Se deve carregar apenas os pesos e arquivos de configuração do modelo localmente. Se definido como True, o modelo não será baixado do Hub.
  • token (str ou bool, opcional) — O token a ser usado como autorização de bearer HTTP para arquivos remotos. Se True, o token gerado por diffusers-cli login (armazenado em ~/.huggingface) é utilizado.
  • revision (str, opcional, padrão "main") — A versão específica do modelo a ser usada. Pode ser o nome de um branch, o nome de uma tag, um id de commit ou qualquer identificador permitido pelo Git.
  • subfolder (str, opcional, padrão "") — A localização da subpasta de um arquivo de modelo dentro de um repositório de modelo maior no Hub ou localmente.
  • weight_name (str, opcional, padrão None) — Nome do arquivo de state dict serializado.
  • return_lora_metadata (bool, opcional, padrão é False) — Quando habilitado, retorna também os metadados do adaptador LoRA, geralmente encontrados no state dict.

Retorna o state dict para os pesos do lora e os alfas da rede.

> Suportamos o carregamento de checkpoints LoRA no formato A1111 com capacidade limitada. > > Esta função é experimental e pode mudar no futuro.

save_lora_weights

< >

( save_directory: str | os.PathLikeunet_lora_layers: dict = Nonetext_encoder_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Trueunet_lora_adapter_metadata = Nonetext_encoder_lora_adapter_metadata = None )

Parâmetros

  • save_directory (str ou os.PathLike) — Diretório para salvar os parâmetros LoRA. Será criado se não existir.
  • unet_lora_layers (dict[str, torch.nn.Module] ou dict[str, torch.Tensor]) — Dicionário de estado das camadas LoRA correspondentes ao unet.
  • text_encoder_lora_layers (dict[str, torch.nn.Module] ou dict[str, torch.Tensor]) — State dict das camadas LoRA correspondentes ao text_encoder. É necessário passar explicitamente o state dict das LoRA do text encoder, pois ele vem do 🤗 Transformers.
  • is_main_process (bool, opcional, padrão True) — Indica se o processo que está chamando esta função é o processo principal ou não. Útil durante o treinamento distribuído quando você precisa chamar esta função em todos os processos. Nesse caso, defina is_main_process=True apenas no processo principal para evitar condições de corrida.
  • save_function (Callable) — A função a ser usada para salvar o dicionário de estado. Útil durante o treinamento distribuído quando você precisa substituir torch.save por outro método. Pode ser configurado com a variável de ambiente DIFFUSERS_SAVE_MODE.
  • safe_serialization (bool, opcional, padrão True) — Se o modelo deve ser salvo usando safetensors ou da maneira tradicional do PyTorch com pickle.
  • unet_lora_adapter_metadata — Metadados do adaptador LoRA associados ao unet a serem serializados com o state dict.
  • text_encoder_lora_adapter_metadata — Metadados do adaptador LoRA associados ao codificador de texto a serem serializados com o state dict.

Salve os parâmetros do LoRA correspondentes ao UNet e ao codificador de texto.

StableDiffusionXLLoraLoaderMixin

classe diffusers.loaders.StableDiffusionXLLoraLoaderMixin

< >

( )

Carregue as camadas LoRA no UNet2DConditionModel, no CLIPTextModel e no CLIPTextModelWithProjection do Stable Diffusion XL.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_text_encoder

< >

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

Parâmetros

  • state_dict (dict) — Um state dict padrão contendo os parâmetros das camadas lora. A chave deve ser prefixada com um text_encoder adicional para distinguir entre as camadas lora do unet.
  • network_alphas (dict[str, float]) — O valor do alpha da rede usado para aprendizado estável e prevenção de underflow. Este valor tem o mesmo significado que a opção --network_alpha no script de treinamento do kohya-ss. Consulte este link.
  • text_encoder (CLIPTextModel) — O modelo de codificador de texto no qual as camadas LoRA serão carregadas.
  • prefix (str) — Prefixo esperado do text_encoder no state_dict.
  • lora_scale (float) — Quanto escalar a saída da camada linear lora antes de somá-la à saída da camada lora regular.
  • adapter_name (str, opcional) — Nome do adaptador a ser usado para referenciar o modelo de adaptador carregado. Se não for especificado, será usado default_{i}, onde i é o número total de adaptadores sendo carregados.
  • low_cpu_mem_usage (bool, opcional) — Acelera o carregamento do modelo carregando apenas os pesos LoRA pré-treinados e não inicializando os pesos aleatórios.
  • hotswap (bool, opcional) — Veja load_lora_weights().
  • metadata (dict) — Metadados opcionais do adaptador LoRA. Quando fornecidos, os argumentos de LoraConfig do peft não serão derivados do state dict.

Isso carregará as camadas LoRA especificadas em state_dict em text_encoder

load_lora_into_unet

< >

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

Parâmetros

  • state_dict (dict) — Um state dict padrão contendo os parâmetros das camadas lora. As chaves podem ser indexadas diretamente no unet ou prefixadas com um unet adicional, o que pode ser usado para distinguir entre as camadas lora do text encoder.
  • network_alphas (dict[str, float]) — O valor do alpha da rede usado para aprendizado estável e prevenção de underflow. Este valor tem o mesmo significado que a opção --network_alpha no script de treinamento do kohya-ss. Consulte este link.
  • unet (UNet2DConditionModel) — O modelo UNet em que as camadas LoRA serão carregadas.
  • adapter_name (str, opcional) — Nome do adaptador a ser usado para referenciar o modelo de adaptador carregado. Se não for especificado, será usado default_{i}, onde i é o número total de adaptadores sendo carregados.
  • low_cpu_mem_usage (bool, opcional) — Acelera o carregamento do modelo carregando apenas os pesos LoRA pré-treinados e não inicializando os pesos aleatórios.
  • hotswap (bool, opcional) — Veja load_lora_weights().
  • metadata (dict) — Metadados opcionais do adaptador LoRA. Quando fornecidos, os argumentos de LoraConfig do peft não serão derivados do state dict.

Isso carregará as camadas LoRA especificadas em state_dict em unet.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Parâmetros

  • pretrained_model_name_or_path_or_dict (str ou os.PathLike ou dict) — Pode ser:
    • Uma string, o id do modelo (por exemplo, google/ddpm-celebahq-256) de um modelo pré-treinado hospedado no Hub.
    • Um caminho para um diretório (por exemplo, ./my_model_directory) contendo os pesos do modelo salvos com ModelMixin.save_pretrained().
    • Um torch state dict.
  • cache_dir (str | os.PathLike, opcional) — Caminho para um diretório onde a configuração de um modelo pré-treinado baixado é armazenada em cache, caso o cache padrão não seja utilizado.
  • force_download (bool, opcional, padrão False) — Se deve forçar o (re-)download dos pesos do modelo e dos arquivos de configuração, sobrescrevendo as versões em cache, caso existam.
  • proxies (dict[str, str], opcional) — Um dicionário de servidores proxy a serem usados por protocolo ou endpoint, por exemplo, {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Os proxies são usados em cada solicitação.
  • local_files_only (bool, opcional, padrão False) — Se deve carregar apenas os pesos e arquivos de configuração do modelo localmente. Se definido como True, o modelo não será baixado do Hub.
  • token (str ou bool, opcional) — O token a ser usado como autorização de bearer HTTP para arquivos remotos. Se True, o token gerado por diffusers-cli login (armazenado em ~/.huggingface) é utilizado.
  • revision (str, opcional, padrão "main") — A versão específica do modelo a ser usada. Pode ser o nome de um branch, o nome de uma tag, um id de commit ou qualquer identificador permitido pelo Git.
  • subfolder (str, opcional, padrão "") — A localização da subpasta de um arquivo de modelo dentro de um repositório de modelo maior no Hub ou localmente.
  • weight_name (str, opcional, padrão None) — Nome do arquivo de state dict serializado.
  • return_lora_metadata (bool, opcional, padrão é False) — Quando habilitado, retorna também os metadados do adaptador LoRA, geralmente encontrados no state dict.

Retorna o state dict para os pesos do lora e os alfas da rede.

> Suportamos o carregamento de checkpoints LoRA no formato A1111 com capacidade limitada. > > Esta função é experimental e pode mudar no futuro.

save_lora_weights

< >

( save_directory: str | os.PathLikeunet_lora_layers: dict = Nonetext_encoder_lora_layers: dict = Nonetext_encoder_2_lora_layers: dict = 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 )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

SD3LoraLoaderMixin

classe diffusers.loaders.SD3LoraLoaderMixin

< >

( )

Carregue as camadas LoRA em SD3Transformer2DModel, CLIPTextModel e CLIPTextModelWithProjection.

Específico para StableDiffusion3Pipeline.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_text_encoder

< >

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

Parâmetros

  • state_dict (dict) — Um state dict padrão contendo os parâmetros das camadas lora. A chave deve ser prefixada com um text_encoder adicional para distinguir entre as camadas lora do unet.
  • network_alphas (dict[str, float]) — O valor do alpha da rede usado para aprendizado estável e prevenção de underflow. Este valor tem o mesmo significado que a opção --network_alpha no script de treinamento do kohya-ss. Consulte este link.
  • text_encoder (CLIPTextModel) — O modelo de codificador de texto no qual as camadas LoRA serão carregadas.
  • prefix (str) — Prefixo esperado do text_encoder no state_dict.
  • lora_scale (float) — Quanto escalar a saída da camada linear lora antes de somá-la à saída da camada lora regular.
  • adapter_name (str, opcional) — Nome do adaptador a ser usado para referenciar o modelo de adaptador carregado. Se não for especificado, será usado default_{i}, onde i é o número total de adaptadores sendo carregados.
  • low_cpu_mem_usage (bool, opcional) — Acelera o carregamento do modelo carregando apenas os pesos LoRA pré-treinados e não inicializando os pesos aleatórios.
  • hotswap (bool, opcional) — Veja load_lora_weights().
  • metadata (dict) — Metadados opcionais do adaptador LoRA. Quando fornecidos, os argumentos de LoraConfig do peft não serão derivados do state dict.

Isso carregará as camadas LoRA especificadas em state_dict em text_encoder

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Nonetext_encoder_lora_layers: dict = Nonetext_encoder_2_lora_layers: dict = 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 )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

FluxLoraLoaderMixin

classe diffusers.loaders.FluxLoraLoaderMixin

< >

( )

Carregue as camadas LoRA em FluxTransformer2DModel, CLIPTextModel.

Específico para FluxPipeline.

fuse_lora

< >

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

Veja lora_state_dict() para mais detalhes.

load_lora_into_text_encoder

< >

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

Parâmetros

  • state_dict (dict) — Um state dict padrão contendo os parâmetros das camadas lora. A chave deve ser prefixada com um text_encoder adicional para distinguir entre as camadas lora do unet.
  • network_alphas (dict[str, float]) — O valor do alpha da rede usado para aprendizado estável e prevenção de underflow. Este valor tem o mesmo significado que a opção --network_alpha no script de treinamento do kohya-ss. Consulte este link.
  • text_encoder (CLIPTextModel) — O modelo de codificador de texto no qual as camadas LoRA serão carregadas.
  • prefix (str) — Prefixo esperado do text_encoder no state_dict.
  • lora_scale (float) — Quanto escalar a saída da camada linear lora antes de somá-la à saída da camada lora regular.
  • adapter_name (str, opcional) — Nome do adaptador a ser usado para referenciar o modelo de adaptador carregado. Se não for especificado, será usado default_{i}, onde i é o número total de adaptadores sendo carregados.
  • low_cpu_mem_usage (bool, opcional) — Acelera o carregamento do modelo carregando apenas os pesos LoRA pré-treinados e não inicializando os pesos aleatórios.
  • hotswap (bool, opcional) — Veja load_lora_weights().
  • metadata (dict) — Metadados opcionais do adaptador LoRA. Quando fornecidos, os argumentos de LoraConfig do peft não serão derivados do state dict.

Isso carregará as camadas LoRA especificadas em state_dict em text_encoder

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Nonetext_encoder_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata = Nonetext_encoder_lora_adapter_metadata = None )

Parâmetros

  • save_directory (str ou os.PathLike) — Diretório para salvar os parâmetros LoRA. Será criado se não existir.
  • transformer_lora_layers (dict[str, torch.nn.Module] ou dict[str, torch.Tensor]) — State dict das camadas LoRA correspondentes ao transformer.
  • text_encoder_lora_layers (dict[str, torch.nn.Module] ou dict[str, torch.Tensor]) — State dict das camadas LoRA correspondentes ao text_encoder. É necessário passar explicitamente o state dict das LoRA do text encoder, pois ele vem do 🤗 Transformers.
  • is_main_process (bool, opcional, padrão True) — Indica se o processo que está chamando esta função é o processo principal ou não. Útil durante o treinamento distribuído quando você precisa chamar esta função em todos os processos. Nesse caso, defina is_main_process=True apenas no processo principal para evitar condições de corrida.
  • save_function (Callable) — A função a ser usada para salvar o dicionário de estado. Útil durante o treinamento distribuído quando você precisa substituir torch.save por outro método. Pode ser configurado com a variável de ambiente DIFFUSERS_SAVE_MODE.
  • safe_serialization (bool, opcional, padrão True) — Se o modelo deve ser salvo usando safetensors ou da maneira tradicional do PyTorch com pickle.
  • transformer_lora_adapter_metadata — Metadados do adaptador LoRA associados ao transformer a serem serializados com o state dict.
  • text_encoder_lora_adapter_metadata — Metadados do adaptador LoRA associados ao codificador de texto a serem serializados com o state dict.

Salve os parâmetros do LoRA correspondentes ao UNet e ao codificador de texto.

unfuse_lora

< >

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

Parâmetros

  • components (list[str]) — lista dos componentes injetáveis de LoRA dos quais desfazer a fusão do LoRA.

Reverte o efeito de pipe.fuse_lora().

unload_lora_weights

< >

( reset_to_overwritten_params = False )

Parâmetros

  • reset_to_overwritten_params (bool, padrão False) — Se deve redefinir os módulos carregados com LoRA para seus parâmetros originais. Consulte a documentação do Flux para saber mais.

Descarrega os parâmetros do LoRA.

Exemplos:

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

Flux2LoraLoaderMixin

classe diffusers.loaders.Flux2LoraLoaderMixin

< >

( )

Carrega as camadas LoRA em Flux2Transformer2DModel. Específico para Flux2Pipeline.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

Flux3LoraLoaderMixin

classe diffusers.loaders.Flux3LoraLoaderMixin

< >

( )

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

BriaFibo2LoraLoaderMixin

classe diffusers.loaders.BriaFibo2LoraLoaderMixin

< >

( )

Carrega as camadas LoRA em BriaFibo2Transformer2DModel. Específico para BriaFibo2Pipeline.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

ErnieImageLoraLoaderMixin

classe diffusers.loaders.ErnieImageLoraLoaderMixin

< >

( )

Carrega as camadas LoRA em ErnieImageTransformer2DModel. Específico para ErnieImagePipeline.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

LTX2LoraLoaderMixin

classe diffusers.loaders.LTX2LoraLoaderMixin

< >

( )

Carrega as camadas LoRA em LTX2VideoTransformer3DModel. Específico para LTX2Pipeline.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

CogVideoXLoraLoaderMixin

classe diffusers.loaders.CogVideoXLoraLoaderMixin

< >

( )

Carrega as camadas LoRA em CogVideoXTransformer3DModel. Específico para CogVideoXPipeline.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

Mochi1LoraLoaderMixin

classe diffusers.loaders.Mochi1LoraLoaderMixin

< >

( )

Carrega as camadas LoRA em MochiTransformer3DModel. Específico para MochiPipeline.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

AuraFlowLoraLoaderMixin

classe diffusers.loaders.AuraFlowLoraLoaderMixin

< >

( )

Carregar camadas LoRA em AuraFlowTransformer2DModel Específico para AuraFlowPipeline.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

LTXVideoLoraLoaderMixin

classe diffusers.loaders.LTXVideoLoraLoaderMixin

< >

( )

Carrega as camadas LoRA em LTXVideoTransformer3DModel. Específico para LTXPipeline.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

SanaLoraLoaderMixin

classe diffusers.loaders.SanaLoraLoaderMixin

< >

( )

Carrega as camadas LoRA em SanaTransformer2DModel. Específico para SanaPipeline.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

HeliosLoraLoaderMixin

classe diffusers.loaders.HeliosLoraLoaderMixin

< >

( )

Carrega as camadas LoRA em HeliosTransformer3DModel. Específico para HeliosPipeline e HeliosPyramidPipeline.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

HunyuanVideoLoraLoaderMixin

classe diffusers.loaders.HunyuanVideoLoraLoaderMixin

< >

( )

Carrega as camadas LoRA em HunyuanVideoTransformer3DModel. Específico para HunyuanVideoPipeline.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

Lumina2LoraLoaderMixin

classe diffusers.loaders.Lumina2LoraLoaderMixin

< >

( )

Carrega as camadas LoRA em Lumina2Transformer2DModel. Específico para Lumina2Pipeline.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

CogView4LoraLoaderMixin

classe diffusers.loaders.CogView4LoraLoaderMixin

< >

( )

Carrega as camadas LoRA em WanTransformer3DModel. Específico para CogView4Pipeline.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

WanLoraLoaderMixin

classe diffusers.loaders.WanLoraLoaderMixin

< >

( )

Carrega as camadas LoRA em WanTransformer3DModel. Específico para WanPipeline e [WanImageToVideoPipeline].

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

SkyReelsV2LoraLoaderMixin

classe diffusers.loaders.SkyReelsV2LoraLoaderMixin

< >

( )

Carregue as camadas LoRA em SkyReelsV2Transformer3DModel.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

AmusedLoraLoaderMixin

classe diffusers.loaders.AmusedLoraLoaderMixin

< >

( )

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketext_encoder_lora_layers: dict = Nonetransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = True )

Parâmetros

  • save_directory (str ou os.PathLike) — Diretório para salvar os parâmetros LoRA. Será criado se não existir.
  • unet_lora_layers (dict[str, torch.nn.Module] ou dict[str, torch.Tensor]) — Dicionário de estado das camadas LoRA correspondentes ao unet.
  • text_encoder_lora_layers (dict[str, torch.nn.Module] ou dict[str, torch.Tensor]) — State dict das camadas LoRA correspondentes ao text_encoder. É necessário passar explicitamente o state dict das LoRA do text encoder, pois ele vem do 🤗 Transformers.
  • is_main_process (bool, opcional, padrão True) — Indica se o processo que está chamando esta função é o processo principal ou não. Útil durante o treinamento distribuído quando você precisa chamar esta função em todos os processos. Nesse caso, defina is_main_process=True apenas no processo principal para evitar condições de corrida.
  • save_function (Callable) — A função a ser usada para salvar o dicionário de estado. Útil durante o treinamento distribuído quando você precisa substituir torch.save por outro método. Pode ser configurado com a variável de ambiente DIFFUSERS_SAVE_MODE.
  • safe_serialization (bool, opcional, padrão True) — Se o modelo deve ser salvo usando safetensors ou da maneira tradicional do PyTorch com pickle.

Salve os parâmetros do LoRA correspondentes ao UNet e ao codificador de texto.

AnimaLoraLoaderMixin

classe diffusers.loaders.AnimaLoraLoaderMixin

< >

( )

Carregue as camadas LoRA em CosmosTransformer3DModel e AnimaTextConditioner.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

AceStepLoraLoaderMixin

classe diffusers.loaders.AceStepLoraLoaderMixin

< >

( )

Carrega as camadas LoRA em AceStepTransformer1DModel. Específico para AceStepPipeline.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

HiDreamImageLoraLoaderMixin

classe diffusers.loaders.HiDreamImageLoraLoaderMixin

< >

( )

Carrega as camadas LoRA em HiDreamImageTransformer2DModel. Específico para HiDreamImagePipeline.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

QwenImageLoraLoaderMixin

classe diffusers.loaders.QwenImageLoraLoaderMixin

< >

( )

Carrega as camadas LoRA em QwenImageTransformer2DModel. Específico para QwenImagePipeline.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

ZImageLoraLoaderMixin

classe diffusers.loaders.ZImageLoraLoaderMixin

< >

( )

Carrega as camadas LoRA em ZImageTransformer2DModel. Específico para ZImagePipeline.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

CosmosLoraLoaderMixin

classe diffusers.loaders.CosmosLoraLoaderMixin

< >

( )

Carregue as camadas LoRA em CosmosTransformer3DModel, específico para Cosmos2_5_PredictBasePipeline.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

KandinskyLoraLoaderMixin

classe diffusers.loaders.KandinskyLoraLoaderMixin

< >

( )

Carregue as camadas LoRA em Kandinsky5Transformer3DModel,

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

Ideogram4LoraLoaderMixin

classe diffusers.loaders.Ideogram4LoraLoaderMixin

< >

( )

Carrega as camadas LoRA em Ideogram4Transformer2DModel. Específico para Ideogram4Pipeline.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

Krea2LoraLoaderMixin

classe diffusers.loaders.Krea2LoraLoaderMixin

< >

( )

Carrega as camadas LoRA em Krea2Transformer2DModel. Específico para Krea2Pipeline.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_weights

< >

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

Veja load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

Veja save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

MiniMaxH3LoraLoaderMixin

classe diffusers.loaders.MiniMaxH3LoraLoaderMixin

< >

( )

Carrega as camadas LoRA em MiniMaxH3Transformer3DModel. Específico para MiniMaxH3ModularPipeline.

MiniMax-H3 inclui duas partições DiT independentes com nomes de módulos idênticos (um LoRA para uma é carregado na outra e degrada a saída), portanto o roteamento é explícito: os dicionários de estado convertidos têm como destino transformer.; para acessar transformer_ref, use um arquivo com o prefixo transformer_ref. ou load_into_transformer_ref=True.

Os LoRAs do DiffSynth-Studio (por exemplo, DiffSynth-Studio/MiniMax-H3-LoRA-LineartAnime) são treinados contra o QKV fundido com cabeças intercaladas do checkpoint bruto e são desintercalados na conversão. Seus fatores fp32 fazem o caminho de LoRA não fundido calcular em fp32; .to(torch.bfloat16) no modelo após o carregamento restaura o orçamento de memória bf16.

LoRAs treinados contra um checkpoint podado (os arquivos *_pruned_* em Comfy-Org/MiniMax-H3; joyfox/MiniMax-H3-Turbo é um deles) falham com um erro de incompatibilidade de tamanho. Arquivos sem alpha são carregados com alpha == rank (escala 1.0, a convenção declarada por, por exemplo, larryvrh/MiniMax-H3-Turbo-Lora); uma entrada alpha em __metadata__ (por exemplo, o arquivo de 8 passos de lightx2v/Minimax-h3-Turbo), quando presente, é respeitada em vez disso.

fuse_lora

< >

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

Veja fuse_lora() para mais detalhes.

load_lora_into_transformer

< >

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

Veja load_lora_into_unet() para mais detalhes.

load_lora_into_transformer_ref

< >

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

Carrega as camadas LoRA na partição transformer_ref. prefix é o nome do componente que as chaves carregam, sendo transformer_ref para um arquivo que nomeia a partição e transformer para um roteado para cá por load_into_transformer_ref=True. Veja load_lora_into_unet() para mais detalhes.

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 )

Parâmetros

  • load_into_transformer_ref (bool, padrão False) — Carrega as camadas com o prefixo transformer. na partição transformer_ref — aquela com a qual o workflow ref2va realiza o denoising — em vez de transformer. Necessário apenas quando ambas as partições estão carregadas: um pipeline que mantém apenas transformer_ref roteia para lá por conta própria.

Carrega as camadas LoRA em transformer ou, com load_into_transformer_ref=True, em transformer_ref. Consulte load_lora_weights() para mais detalhes.

lora_state_dict

< >

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

Veja lora_state_dict() para mais detalhes.

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict = Nonetransformer_ref_lora_layers: dict = 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 )

Salve as camadas LoRA de uma ou de ambas as partições do MiniMax-H3. A qual partição um LoRA pertence não é recuperável a partir de suas chaves, portanto, este é o único modo de publicar um LoRA do H3 que registre essa informação. Consulte save_lora_weights() para mais informações.

unfuse_lora

< >

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

Veja unfuse_lora() para mais detalhes.

PikaH3FlexLoraLoaderMixin

classe diffusers.loaders.PikaH3FlexLoraLoaderMixin

< >

( )

Carrega as camadas LoRA em MiniMaxH3Transformer3DModel. Específico para PikaH3FlexModularPipeline.

A liberação Pika H3 Flex é um par de adaptadores rank-128 sobre as duas partições transformer do MiniMax-H3, publicadas como dumps PEFT simples dos nomes de módulos do diffusers (fl2va/adapter.safetensors para transformer, ref2va/adapter.safetensors para transformer_ref). Os arquivos sem alpha são carregados em alpha == rank (escala 1.0), o contrato próprio dos adaptadores, e o carregamento, roteamento e salvamento são os de MiniMaxH3LoraLoaderMixin: o adaptador fl2va vai para transformer, e o adaptador ref2va para transformer_ref — sozinho quando o pipeline mantém apenas essa partição (workflow="ref2va"), com load_into_transformer_ref=True quando mantém ambas.

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

LoraBaseMixin

classe diffusers.loaders.lora_base.LoraBaseMixin

< >

( )

Classe utilitária para lidar com LoRAs.

delete_adapters

< >

( adapter_names: list[str] | str )

Parâmetros

  • adapter_names (list[str, str]) — Os nomes dos adaptadores a serem excluídos.

Exclua as camadas LoRA de um adaptador do pipeline.

Exemplo:

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

< >

( )

Desativa as camadas LoRA ativas do pipeline.

Exemplo:

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

< >

( )

Ativa as camadas LoRA ativas do pipeline.

Exemplo:

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 )

Parâmetros

  • target_rank (int) — O maior rank entre todos os adaptadores que serão carregados.
  • check_compiled (str, opcional, padrão é "error") — Como lidar com um modelo que já está compilado. A verificação pode retornar as seguintes mensagens:
    • “error” (padrão): levanta um erro
    • “warn”: emitir um aviso
    • “ignore”: não fazer nada

Troque adaptadores a quente sem acionar a recompilação de um modelo ou quando as classes dos adaptadores carregados forem diferentes.

fuse_lora

< >

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

Parâmetros

  • components — (list[str]): lista de componentes injetáveis com LoRA nos quais fundir os LoRAs.
  • lora_scale (float, padrão 1.0) — Controla o quanto os parâmetros do LoRA influenciam as saídas.
  • safe_fusing (bool, padrão False) — Se deve verificar os pesos fundidos em busca de valores NaN antes da fusão e, se os valores forem NaN, não fundi-los.
  • adapter_names (list[str], opcional) — Nomes dos adaptadores a serem usados para fusão. Se nada for passado, todos os adaptadores ativos serão fundidos.

Funde os parâmetros do LoRA nos parâmetros originais dos blocos correspondentes.

Exemplo:

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

< >

( )

Obtém a lista dos adaptadores ativos atuais.

Exemplo:

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

< >

( )

Obtém a lista atual de todos os adaptadores disponíveis no pipeline.

set_adapters

< >

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

Parâmetros

  • adapter_names (list[str] ou str) — Os nomes dos adaptadores a serem usados.
  • adapter_weights (float, dict ou list, opcional) — Pesos para os adaptadores. Um escalar escala todos os componentes compatíveis com LoRA. Um dicionário mapeia nomes de componentes (p. ex., "unet", "transformer" ou "text_encoder") para pesos; o peso de um componente UNet também pode ser um dicionário aninhado de escalas de blocos. Um único escalar ou dicionário é aplicado a cada adaptador. Uma lista deve conter um escalar, dicionário ou None por adaptador, na ordem de adapter_names. None tem valor padrão de 1.0, incluindo entradas de lista e pesos de componentes. Componentes não especificados e blocos UNet também têm valor padrão de 1.0.

Defina os adaptadores atualmente ativos para uso no pipeline.

Exemplo:

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 )

Parâmetros

  • adapter_names (list[str]) — lista de adaptadores para enviar para o dispositivo.
  • device (torch.device | str | int) — Dispositivo para onde enviar os adaptadores. Pode ser um dispositivo torch, uma str ou um inteiro.

Move os LoRAs listados em adapter_names para um dispositivo de destino. Útil para descarregar o LoRA para a CPU, caso você queira carregar vários adaptadores e liberar alguma memória de GPU.

Após descarregar os adaptadores LoRA para a CPU, desde que o restante do modelo ainda esteja na GPU, os adaptadores LoRA não podem mais ser usados para inferência, pois isso causaria uma incompatibilidade de dispositivo. Lembre-se de definir o dispositivo de volta para a GPU antes de usar esses adaptadores LoRA para inferência.

>>> 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 )

Parâmetros

  • components (list[str]) — lista dos componentes injetáveis de LoRA dos quais desfazer a fusão do LoRA.
  • unfuse_unet (bool, padrão True) — Se deve desfazer a fusão dos parâmetros LoRA do UNet.
  • unfuse_text_encoder (bool, padrão True) — Se deve desfazer a fusão dos parâmetros LoRA do codificador de texto. Se o codificador de texto não foi modificado com os parâmetros LoRA, isso não terá nenhum efeito.

Reverte o efeito de pipe.fuse_lora().

unload_lora_weights

< >

( )

Descarrega os parâmetros do LoRA.

Exemplos:

>>> # 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 )

Escreve o state dict das camadas LoRA (opcionalmente com metadados) no disco.

Update on GitHub