Buckets:

hf-doc-build/doc / diffusers /main /tr /api /models /controlnet_sana.md
mishig's picture
|
download
raw
5.29 kB
# SanaControlNetModel
ControlNet modeli, Lvmin Zhang, Anyi Rao ve Maneesh Agrawala tarafından [Adding Conditional Control to Text-to-Image Diffusion Models](https://huggingface.co/papers/2302.05543) makalesinde tanıtılmıştır. Kenar haritaları, derinlik haritaları, segmentasyon haritaları ve poz algılama için anahtar noktalar gibi ek girdiler üzerinde modeli koşullandırarak metinden görüntüye üretim üzerinde daha yüksek bir kontrol derecesi sağlar.
Makalenin özeti şudur:
*ControlNet'i sunuyoruz; bu, büyük, önceden eğitilmiş metinden görüntüye difüzyon modellerine uzamsal koşullandırma kontrolleri eklemek için tasarlanmış bir sinir ağı mimarisidir. ControlNet, üretim için hazır büyük difüzyon modellerini kilitler ve milyarlarca görüntüyle önceden eğitilmiş derin ve sağlam kodlama katmanlarını, çeşitli bir koşullu kontrol seti öğrenmek için güçlü bir omurga olarak yeniden kullanır. Sinir mimarisi, parametreleri sıfırdan kademeli olarak büyüten ve finetuning'i (ince ayar) etkileyebilecek zararlı gürültünün olmasını engelleyen "sıfır konvolüsyonlar" (sıfır başlatılmış konvolüsyon katmanları) ile bağlanır. Stable Diffusion ile tekil veya birden fazla koşul kullanarak, istemlerle (prompt) veya istemsiz olarak kenarlar, derinlik, segmentasyon, insan pozu gibi çeşitli koşullandırma kontrollerini test ediyoruz. ControlNet'lerin eğitiminin küçük (<50k) ve büyük (>1m) veri setleriyle sağlam olduğunu gösteriyoruz. Kapsamlı sonuçlar, ControlNet'in görüntü difüzyon modellerini kontrol etmek için daha geniş uygulamaları kolaylaştırabileceğini göstermektedir.*
Bu model [ishan24](https://huggingface.co/ishan24) tarafından katkı sağlanmıştır. ❤️ Orijinal kod tabanı [NVlabs/Sana](https://github.com/NVlabs/Sana) adresinde bulunabilir ve resmi ControlNet checkpoint'leri [Efficient-Large-Model](https://huggingface.co/Efficient-Large-Model)'in Hub profilinde yer almaktadır.
## 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)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/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)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/controlnets/controlnet_sana.py#L120)
**Parametreler:**
hidden_states (`torch.Tensor`, şekli `(batch_size, channel, height, width)`) : Girdi `hidden_states`.
encoder_hidden_states (`torch.Tensor`) : Kullanılacak koşullu gömlemeler (giriş koşullarından, örneğin istemlerden hesaplanan gömlemeler).
timestep (`torch.LongTensor`) : Gürültü azaltma adımını belirtmek için kullanılır.
controlnet_cond (`torch.Tensor`) : ControlNet için koşullu girdi tensörü.
conditioning_scale (`float`, *isteğe bağlı*, varsayılan `1.0`) : ControlNet çıktıları için ölçekleme faktörü.
encoder_attention_mask (`torch.Tensor`, *isteğe bağlı*) : `encoder_hidden_states`'e uygulanan dikkat maskesi.
attention_mask (`torch.Tensor`, *isteğe bağlı*) : `hidden_states`'e uygulanan dikkat maskesi.
attention_kwargs (`dict`, *isteğe bağlı*) : Belirtilirse, [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py) içinde `self.processor` altında tanımlanan `AttentionProcessor`'a iletilen bir kwargs sözlüğü.
return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : Düz bir tuple yerine `~models.transformer_2d.Transformer2DModelOutput` döndürülüp döndürülmediğini belirtir.
**Dönüş:** `~models.transformer_2d.Transformer2DModelOutput` veya `tuple`
`return_dict` True ise, `~models.transformer_2d.Transformer2DModelOutput` döndürülür, aksi takdirde düz bir `tuple` döndürülür.
## 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)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/controlnets/controlnet_sana.py#L37)

Xet Storage Details

Size:
5.29 kB
·
Xet hash:
84a88ef53632e550841ebcedc3dce5a52c55c9c7367fb34b189e67e646356610

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