Buckets:
| # SanaControlNetModel | |
| O modelo ControlNet foi introduzido em [Adding Conditional Control to Text-to-Image Diffusion Models](https://huggingface.co/papers/2302.05543) 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](https://huggingface.co/ishan24). ❤️ A base de código original pode ser encontrada em [NVlabs/Sana](https://github.com/NVlabs/Sana), e você pode encontrar checkpoints oficiais do ControlNet no perfil do Hub de [Efficient-Large-Model](https://huggingface.co/Efficient-Large-Model). | |
| ## SanaControlNetModel[[diffusers.SanaControlNetModel]] | |
| #### diffusers.SanaControlNetModel[[diffusers.SanaControlNetModel]] | |
| ```python | |
| 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](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/controlnets/controlnet_sana.py#L41) | |
| #### forward[[diffusers.SanaControlNetModel.forward]] | |
| ```python | |
| 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](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/controlnets/controlnet_sana.py#L120) | |
| **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](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py). | |
| 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]] | |
| ```python | |
| diffusers.models.controlnets.controlnet_sana.SanaControlNetOutput(controlnet_block_samples: tuple[torch.Tensor]) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/controlnets/controlnet_sana.py#L37) | |
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.