Buckets:

hf-doc-build/doc / diffusers /v0.43.0 /pt /api /models /controlnet_sana.md
mishig's picture
|
download
raw
5.21 kB

SanaControlNetModel

O modelo ControlNet foi introduzido em Adding Conditional Control to Text-to-Image Diffusion Models por Lvmin Zhang, Anyi Rao e Maneesh Agrawala. Ele oferece um maior grau de controle sobre a geração de imagens a partir de texto ao condicionar o modelo em entradas adicionais, como mapas de bordas, mapas de profundidade, mapas de segmentação e pontos-chave para detecção de pose.

O resumo do artigo é:

Apresentamos o ControlNet, uma arquitetura de rede neural para adicionar controles de condicionamento espacial a grandes modelos de difusão de texto para imagem pré-treinados. O ControlNet trava os grandes modelos de difusão prontos para produção e reutiliza suas camadas de codificação profundas e robustas, pré-treinadas com bilhões de imagens, como uma base forte para aprender um conjunto diversificado de controles condicionais. A arquitetura neural é conectada com "convoluções zero" (camadas de convolução inicializadas em zero) que crescem progressivamente os parâmetros a partir de zero e garantem que nenhum ruído prejudicial possa afetar o ajuste fino. Testamos vários controles de condicionamento, por exemplo, bordas, profundidade, segmentação, pose humana, etc., com o Stable Diffusion, usando condições únicas ou múltiplas, com ou sem prompts. Mostramos que o treinamento dos ControlNets é robusto com conjuntos de dados pequenos (<50k) e grandes (>1m). Resultados extensos mostram que o ControlNet pode facilitar aplicações mais amplas para controlar modelos de difusão de imagem.

Este modelo foi contribuído por ishan24. ❤️ A base de código original pode ser encontrada em NVlabs/Sana, e você pode encontrar checkpoints oficiais do ControlNet no perfil do Hub de Efficient-Large-Model.

SanaControlNetModel[[diffusers.SanaControlNetModel]]

diffusers.SanaControlNetModel[[diffusers.SanaControlNetModel]]

diffusers.SanaControlNetModel(in_channels: int = 32, out_channels: int | None = 32, num_attention_heads: int = 70, attention_head_dim: int = 32, num_layers: int = 7, num_cross_attention_heads: int | None = 20, cross_attention_head_dim: int | None = 112, cross_attention_dim: int | None = 2240, caption_channels: int = 2304, mlp_ratio: float = 2.5, dropout: float = 0.0, attention_bias: bool = False, sample_size: int = 32, patch_size: int = 1, norm_elementwise_affine: bool = False, norm_eps: float = 1e-06, interpolation_scale: int | None = None)

Fonte

forward[[diffusers.SanaControlNetModel.forward]]

forward(hidden_states: Tensor, encoder_hidden_states: Tensor, timestep: LongTensor, controlnet_cond: Tensor, conditioning_scale: float = 1.0, encoder_attention_mask: typing.Optional[torch.Tensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, attention_kwargs: dict[str, typing.Any] | None = None, return_dict: bool = True)

Fonte

Parâmetros:

hidden_states (torch.Tensor de forma (batch_size, channel, height, width)) : hidden_states de entrada.

encoder_hidden_states (torch.Tensor) : Embeddings condicionais (embeddings calculados a partir das condições de entrada, como prompts) a serem usados.

timestep (torch.LongTensor) : Usado para indicar o passo de desruidamento.

controlnet_cond (torch.Tensor) : O tensor de entrada condicional para o ControlNet.

conditioning_scale (float, opcional, padrão 1.0) : O fator de escala para as saídas do ControlNet.

encoder_attention_mask (torch.Tensor, opcional) : Máscara de atenção aplicada a encoder_hidden_states.

attention_mask (torch.Tensor, opcional) : Máscara de atenção aplicada a hidden_states.

attention_kwargs (dict, opcional) : Um dicionário de kwargs que, se especificado, é passado para o AttentionProcessor conforme definido em self.processor em diffusers.models.attention_processor.

return_dict (bool, opcional, padrão True) : Indica se deve retornar um ~models.transformer_2d.Transformer2DModelOutput em vez de uma tupla simples.

Retorna: ~models.transformer_2d.Transformer2DModelOutput ou tuple

Se return_dict for True, um ~models.transformer_2d.Transformer2DModelOutput é retornado; caso contrário, uma tuple simples é retornada.

SanaControlNetOutput[[diffusers.models.controlnets.controlnet_sana.SanaControlNetOutput]]

diffusers.models.controlnets.controlnet_sana.SanaControlNetOutput[[diffusers.models.controlnets.controlnet_sana.SanaControlNetOutput]]

diffusers.models.controlnets.controlnet_sana.SanaControlNetOutput(controlnet_block_samples: tuple[torch.Tensor])

Fonte

Xet Storage Details

Size:
5.21 kB
·
Xet hash:
f7815fbef44644cfe8d0996d2430fb3fb7324a772475ade27cac0646aebb0663

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.