Buckets:

mishig's picture
|
download
raw
14.9 kB
# IP-Adapter
[IP-Adapter](https://hf.co/papers/2308.06721), bir difüzyon modelini görüntüyle yönlendirmeyi (prompting) mümkün kılan hafif bir adaptördür. Bu yöntem, görüntü ve metin özelliklerinin çapraz dikkat (cross-attention) katmanlarını birbirinden ayırır. Görüntü özellikleri, bir görüntü kodlayıcıdan (image encoder) üretilir.
> [!TIP]
> Bir IP-Adapter kontrol noktası ve görüntüsünü nasıl yükleyip kullanacağınızı [IP-Adapter](../../using-diffusers/ip_adapter) kılavuzunda öğrenin.
## IPAdapterMixin[[diffusers.loaders.IPAdapterMixin]]
#### diffusers.loaders.IPAdapterMixin[[diffusers.loaders.IPAdapterMixin]]
```python
diffusers.loaders.IPAdapterMixin()
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/ip_adapter.py#L55)
IP Adapter'ları işlemek için karışım (mixin).
#### load_ip_adapter[[diffusers.loaders.IPAdapterMixin.load_ip_adapter]]
```python
load_ip_adapter(pretrained_model_name_or_path_or_dict: str | list[str] | dict[str, torch.Tensor], subfolder: str | list[str], weight_name: str | list[str], image_encoder_folder: str | None = 'image_encoder', **kwargs)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/ip_adapter.py#L58)
**Parametreler:**
pretrained_model_name_or_path_or_dict (`str` veya `list[str]` veya `os.PathLike` veya `list[os.PathLike]` veya `dict` veya `list[dict]`) : Şunlardan biri olabilir: - Hub'da barındırılan önceden eğitilmiş bir modelin *model kimliği* (örneğin `google/ddpm-celebahq-256`) olan bir dize. - [ModelMixin.save_pretrained()](/docs/diffusers/main/tr/api/models/overview#diffusers.ModelMixin.save_pretrained) ile kaydedilmiş model ağırlıklarını içeren bir *dizin* yolu (örneğin `./my_model_directory`). - Bir [torch state dict](https://pytorch.org/tutorials/beginner/saving_loading_models.html#what-is-a-state-dict).
subfolder (`str` veya `list[str]`) : Hub'daki veya yerel bir model deposundaki daha büyük bir model deposu içindeki model dosyasının alt klasör konumu. Bir liste geçiriliyorsa, `weight_name` ile aynı uzunlukta olmalıdır.
weight_name (`str` veya `list[str]`) : Yüklenecek ağırlık dosyasının adı. Bir liste geçiriliyorsa, `subfolder` ile aynı uzunlukta olmalıdır.
image_encoder_folder (`str`, *isteğe bağlı*, varsayılan `image_encoder`) : Hub'daki veya yerel bir model deposundaki daha büyük bir modelin içindeki görüntü kodlayıcısının alt klasör konumu. Görüntü kodlayıcısını yüklememek için `None` geçirin. Görüntü kodlayıcı `subfolder` içinde bir klasörde konumlandırılmışsa, yalnızca görüntü kodlayıcı ağırlıklarını içeren klasörün adını geçmeniz yeterlidir, örneğin `image_encoder_folder="image_encoder"`. Görüntü kodlayıcı `subfolder` dışında bir klasörde konumlandırılmışsa, görüntü kodlayıcı ağırlıklarını içeren klasöre giden yolu geçmelisiniz, örneğin `image_encoder_folder="different_subfolder/image_encoder"`.
cache_dir (`str | os.PathLike`, *isteğe bağlı*) : Standart önbellek kullanılmıyorsa, indirilen önceden eğitilmiş model yapılandırmasının önbelleğe alındığı dizinin yolu.
force_download (`bool`, *isteğe bağlı*, varsayılan `False`) : Model ağırlıklarının ve yapılandırma dosyalarının (yeniden) indirilmesinin zorlanıp zorlanmayacağını belirler; önbellekteki sürümler varsa bunların üzerine yazar.
proxies (`dict[str, str]`, *isteğe bağlı*) : Protokol veya uç nokta bazında kullanılacak vekil sunucuların sözlüğü, örneğin `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}`. Vekiller her istekte kullanılır.
local_files_only (`bool`, *isteğe bağlı*, varsayılan `False`) : Sadece yerel model ağırlıklarının ve yapılandırma dosyalarının yüklenip yüklenmeyeceğini belirtir. `True` olarak ayarlanırsa, model Hub'dan indirilmez.
token (`str` veya *bool*, *isteğe bağlı*) : Uzaktaki dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak jeton. `True` ise, `diffusers-cli login` ile oluşturulan jeton (`~/.huggingface` içinde saklanır) kullanılır.
revision (`str`, *isteğe bağlı*, varsayılan `"main"`) : Kullanılacak belirli model sürümü. Bir dal adı, etiket adı, commit kimliği veya Git tarafından izin verilen herhangi bir tanımlayıcı olabilir.
low_cpu_mem_usage (`bool`, *isteğe bağlı*, varsayılan olarak PyTorch sürümü >= 1.9.0 ise `True`, aksi halde `False`) : Ağırlıkları başlatmadan yalnızca önceden eğitilmiş ağırlıkları yükleyerek model yüklemesini hızlandırır. Bu, model yüklenirken (tepe bellek dahil) CPU belleğinde model boyutunun 1 katından fazlasını kullanmamaya da çalışır. Yalnızca PyTorch >= 1.9.0 için desteklenir. PyTorch'un daha eski bir sürümünü kullanıyorsanız, bu argümanı `True` olarak ayarlamak bir hata verecektir.
#### set_ip_adapter_scale[[diffusers.loaders.IPAdapterMixin.set_ip_adapter_scale]]
```python
set_ip_adapter_scale(scale)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/ip_adapter.py#L259)
IP-Adapter ölçekleri, dönüştürücü bloğu başına ayarlanır. Girdi `scale`, her bir IP-Adapter davranışı üzerinde ince kontrol için tek bir yapılandırma veya yapılandırma listesi olabilir. Bir yapılandırma, bir ondalık sayı veya sözlük olabilir.
Örnek:
```py
# To use original IP-Adapter
scale = 1.0
pipeline.set_ip_adapter_scale(scale)
# To use style block only
scale = {
"up": {"block_0": [0.0, 1.0, 0.0]},
}
pipeline.set_ip_adapter_scale(scale)
# To use style+layout blocks
scale = {
"down": {"block_2": [0.0, 1.0]},
"up": {"block_0": [0.0, 1.0, 0.0]},
}
pipeline.set_ip_adapter_scale(scale)
# To use style and layout from 2 reference images
scales = [{"down": {"block_2": [0.0, 1.0]}}, {"up": {"block_0": [0.0, 1.0, 0.0]}}]
pipeline.set_ip_adapter_scale(scales)
```
#### unload_ip_adapter[[diffusers.loaders.IPAdapterMixin.unload_ip_adapter]]
```python
unload_ip_adapter()
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/ip_adapter.py#L312)
IP Adapter ağırlıklarını boşaltır
Örnekler:
```python
>>> # Assuming `pipeline` is already loaded with the IP Adapter weights.
>>> pipeline.unload_ip_adapter()
>>> ...
```
## SD3IPAdapterMixin[[diffusers.loaders.SD3IPAdapterMixin]]
#### diffusers.loaders.SD3IPAdapterMixin[[diffusers.loaders.SD3IPAdapterMixin]]
```python
diffusers.loaders.SD3IPAdapterMixin()
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/ip_adapter.py#L904)
StableDiffusion 3 IP Adapters'ı işlemek için karışım (mixin).
#### is_ip_adapter_active[[diffusers.loaders.SD3IPAdapterMixin.is_ip_adapter_active]]
```python
is_ip_adapter_active()
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/ip_adapter.py#L907)
**Dönüş:** `bool`
IP-Adapter yüklendiğinde ve herhangi bir katmanın ölçeği > 0 olduğunda doğru.
IP-Adapter'ın yüklendiğini ve ölçeğin > 0 olduğunu kontrol eder.
IP-Adapter ölçeği, görsel istemin metin istimine kıyasla etkisini kontrol eder. Bu değer 0 olarak ayarlandığında, görsel bağlam önemsizdir.
#### load_ip_adapter[[diffusers.loaders.SD3IPAdapterMixin.load_ip_adapter]]
```python
load_ip_adapter(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], weight_name: str = 'ip-adapter.safetensors', subfolder: str | None = None, image_encoder_folder: str | None = 'image_encoder', **kwargs)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/ip_adapter.py#L925)
**Parametreler:**
pretrained_model_name_or_path_or_dict (`str` veya `os.PathLike` veya `dict`) : Şunlardan biri olabilir: - Hub'da barındırılan önceden eğitilmiş bir modelin *model kimliği* (örneğin `google/ddpm-celebahq-256`). - [ModelMixin.save_pretrained()](/docs/diffusers/main/tr/api/models/overview#diffusers.ModelMixin.save_pretrained) ile kaydedilmiş model ağırlıklarını içeren bir *dizin* yolu (örneğin `./my_model_directory`). - Bir [torch state dict](https://pytorch.org/tutorials/beginner/saving_loading_models.html#what-is-a-state-dict).
weight_name (`str`, varsayılan "ip-adapter.safetensors") : Yükenecek ağırlık dosyasının adı. Bir liste geçiriliyorsa, `subfolder` ile aynı uzunlukta olmalıdır.
subfolder (`str`, *isteğe bağlı*) : Hub'daki veya yerel bir model deposundaki daha büyük bir model deposu içindeki model dosyasının alt klasör konumu. Bir liste geçiriliyorsa, `weight_name` ile aynı uzunlukta olmalıdır.
image_encoder_folder (`str`, *isteğe bağlı*, varsayılan `image_encoder`) : Hub'daki veya yerel bir model deposundaki daha büyük bir modelin içindeki görüntü kodlayıcısının alt klasör konumu. Görüntü kodlayıcısını yüklememek için `None` geçirin. Görüntü kodlayıcı `subfolder` içinde bir klasörde konumlandırılmışsa, yalnızca görüntü kodlayıcı ağırlıklarını içeren klasörün adını geçmeniz yeterlidir, örneğin `image_encoder_folder="image_encoder"`. Görüntü kodlayıcı `subfolder` dışında bir klasörde konumlandırılmışsa, görüntü kodlayıcı ağırlıklarını içeren klasöre giden yolu geçmelisiniz, örneğin `image_encoder_folder="different_subfolder/image_encoder"`.
cache_dir (`str | os.PathLike`, *isteğe bağlı*) : Standart önbellek kullanılmıyorsa, indirilen önceden eğitilmiş model yapılandırmasının önbelleğe alındığı dizinin yolu.
force_download (`bool`, *isteğe bağlı*, varsayılan `False`) : Model ağırlıklarının ve yapılandırma dosyalarının (yeniden) indirilmesinin zorlanıp zorlanmayacağını belirler; önbellekteki sürümler varsa bunların üzerine yazar.
proxies (`dict[str, str]`, *isteğe bağlı*) : Protokol veya uç nokta bazında kullanılacak vekil sunucuların sözlüğü, örneğin `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}`. Vekiller her istekte kullanılır.
local_files_only (`bool`, *isteğe bağlı*, varsayılan `False`) : Sadece yerel model ağırlıklarının ve yapılandırma dosyalarının yüklenip yüklenmeyeceğini belirtir. `True` olarak ayarlanırsa, model Hub'dan indirilmez.
token (`str` veya *bool*, *isteğe bağlı*) : Uzaktaki dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak jeton. `True` ise, `diffusers-cli login` ile oluşturulan jeton (`~/.huggingface` içinde saklanır) kullanılır.
revision (`str`, *isteğe bağlı*, varsayılan `"main"`) : Kullanılacak belirli model sürümü. Bir dal adı, etiket adı, commit kimliği veya Git tarafından izin verilen herhangi bir tanımlayıcı olabilir.
low_cpu_mem_usage (`bool`, *isteğe bağlı*, varsayılan olarak PyTorch sürümü >= 1.9.0 ise `True`, aksi halde `False`) : Ağırlıkları başlatmadan yalnızca önceden eğitilmiş ağırlıkları yükleyerek model yüklemesini hızlandırır. Bu, model yüklenirken (tepe bellek dahil) CPU belleğinde model boyutunun 1 katından fazlasını kullanmamaya da çalışır. Yalnızca PyTorch >= 1.9.0 için desteklenir. PyTorch'un daha eski bir sürümünü kullanıyorsanız, bu argümanı `True` olarak ayarlamak bir hata verecektir.
#### set_ip_adapter_scale[[diffusers.loaders.SD3IPAdapterMixin.set_ip_adapter_scale]]
```python
set_ip_adapter_scale(scale: float)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/ip_adapter.py#L1079)
**Parametreler:**
scale (float) : Ayarlanacak IP-Adapter ölçeği.
Görsel istem koşullandırmasını kontrol eden IP-Adapter ölçeğini ayarlayın. 1.0 değeri, modelin yalnızca görsel istemle koşullandırıldığını; 0.0 değeri ise yalnızca metin istemiyle koşullandırıldığını ifade eder. Bu değerin düşürülmesi, modelin daha çeşitli görseller üretmesini teşvik eder ancak bu görsellerin görsel istemle uyumu daha düşük olabilir.
Örnek:
```python
>>> # Assuming `pipeline` is already loaded with the IP Adapter weights.
>>> pipeline.set_ip_adapter_scale(0.6)
>>> ...
```
#### unload_ip_adapter[[diffusers.loaders.SD3IPAdapterMixin.unload_ip_adapter]]
```python
unload_ip_adapter()
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/ip_adapter.py#L1102)
IP Adapter ağırlıklarını boşaltır.
Örnek:
```python
>>> # Assuming `pipeline` is already loaded with the IP Adapter weights.
>>> pipeline.unload_ip_adapter()
>>> ...
```
## IPAdapterMaskProcessor[[diffusers.IPAdapterMaskProcessor]]
#### diffusers.IPAdapterMaskProcessor[[diffusers.IPAdapterMaskProcessor]]
```python
diffusers.IPAdapterMaskProcessor(do_resize: bool = True, vae_scale_factor: int = 8, resample: str = 'lanczos', do_normalize: bool = False, do_binarize: bool = True, do_convert_grayscale: bool = True)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L1277)
**Parametreler:**
do_resize (`bool`, *isteğe bağlı*, varsayılan `True`) : Görselin (yükseklik, genişlik) boyutlarının `vae_scale_factor`'ün katlarına ölçeklendirilip ölçeklendirilmeyeceğini belirtir.
vae_scale_factor (`int`, *isteğe bağlı*, varsayılan `8`) : VAE ölçekleme faktörü. `do_resize` `True` ise, görüntü bu faktörün katlarına otomatik olarak yeniden boyutlandırılır.
resample (`str`, *isteğe bağlı*, varsayılan `lanczos`) : Görsel yeniden boyutlandırılırken kullanılacak yeniden örnekleme filtresi.
do_normalize (`bool`, *isteğe bağlı*, varsayılan `False`) : Görüntünün [-1,1] aralığına normalize edilip edilmeyeceğini belirtir.
do_binarize (`bool`, *isteğe bağlı*, varsayılan `True`) : Görselin 0/1 olarak ikileştirilip ikileştirilmeyeceğini belirtir.
do_convert_grayscale (`bool`, *isteğe bağlı*, varsayılan olarak `True`) : Görsellerin gri tonlamalı formata dönüştürülüp dönüştürülmeyeceğini belirtir.
IP Adapter görüntü maskeleri için görüntü işleyici.
#### downsample[[diffusers.IPAdapterMaskProcessor.downsample]]
```python
downsample(mask: Tensor, batch_size: int, num_queries: int, value_embed_dim: int)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L1318)
**Parametreler:**
mask (`torch.Tensor`) : `IPAdapterMaskProcessor.preprocess()` ile oluşturulan giriş maskesi tensörü.
batch_size (`int`) : Toplu işlem boyutu.
num_queries (`int`) : Sorgu sayısı.
value_embed_dim (`int`) : Değer gömme boyutları.
**Dönüş:** `torch.Tensor`
Örnekleme azaltılmış maske tensörü.
Ölçekli nokta çarpımı dikkati için beklenen boyutlara uymak üzere sağlanan maske tensörünü indirger. Maske en-boy oranı, çıktı görüntüsünün en-boy oranıyla eşleşmiyorsa bir uyarı verilir.

Xet Storage Details

Size:
14.9 kB
·
Xet hash:
3843101ac1796a136208b24599c4833cfe7c244e51cfff8ef737ffd5b4c61a61

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