Diffusers documentation

IP-Adapter

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

IP-Adapter

IP-Adapter, 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.

Bir IP-Adapter kontrol noktası ve görüntüsünü nasıl yükleyip kullanacağınızı IP-Adapter kılavuzunda öğrenin.

IPAdapterMixin

sınıf diffusers.loaders.IPAdapterMixin

< >

( )

IP Adapter'ları işlemek için karışım (mixin).

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 )

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:
    • Bir dize, Hub üzerinde barındırılan önceden eğitilmiş bir modelin model kimliği (örneğin google/ddpm-celebahq-256).
    • Model ağırlıklarının ModelMixin.save_pretrained() ile kaydedildiği bir dizin (örneğin ./my_model_directory) yolunu belirtir.
    • Bir torch durum sözlüğü.
  • subfolder (str veya list[str]) — Hub'da veya yerel olarak daha büyük bir model deposu içindeki bir 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üklenmesi gereken ağırlık dosyasının adı. Bir liste geçiriliyorsa, uzunluğu subfolder ile aynı 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 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ısı subfolder içinde bir klasörde konumlandırılmışsa, yalnızca görüntü kodlayıcısı 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ısı subfolder'dan farklı bir klasörde konumlandırılmışsa, görüntü kodlayıcısı 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ı) — Protokole veya uç noktaya göre 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) — Yalnızca yerel model ağırlıkları 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ı) — Uzak 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 torch sürümü >= 1.9.0 ise True, aksi halde False) — Modeli yalnızca önceden eğitilmiş ağırlıkları yükleyerek ve ağırlıkları başlatmadan yüklemeyi 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

< >

( scale )

IP-Adapter ölçekleri, dönüştürücü bloğu başına ayarlanır. Girdi scale, her IP-Adapter davranışı üzerinde ince ayar 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:

# 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

< >

( )

IP Adapter ağırlıklarını boşaltır

Örnekler:

>>> # Assuming `pipeline` is already loaded with the IP Adapter weights.
>>> pipeline.unload_ip_adapter()
>>> ...

SD3IPAdapterMixin

sınıf diffusers.loaders.SD3IPAdapterMixin

< >

( )

StableDiffusion 3 IP Adapters'ı işlemek için karışım (mixin).

is_ip_adapter_active

< >

( ) → bool

Dönüş değeri

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

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]weight_name: str = 'ip-adapter.safetensors'subfolder: str | None = Noneimage_encoder_folder: str | None = 'image_encoder'**kwargs )

Parametreler

  • pretrained_model_name_or_path_or_dict (str veya os.PathLike veya dict) — Şunlardan biri olabilir:
    • Bir dize, Hub üzerinde barındırılan önceden eğitilmiş bir modelin model kimliği (örneğin google/ddpm-celebahq-256).
    • Model ağırlıklarının ModelMixin.save_pretrained() ile kaydedildiği bir dizin (örneğin ./my_model_directory) yolunu belirtir.
    • Bir torch durum sözlüğü.
  • weight_name (str, varsayılan “ip-adapter.safetensors”) — Yüklenmesi gereken ağırlık dosyasının adı. Bir liste geçiriliyorsa, uzunluğu subfolder ile aynı olmalıdır.
  • subfolder (str, isteğe bağlı) — Hub'da veya yerel olarak daha büyük bir model deposundaki 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 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ısı subfolder içinde bir klasörde konumlandırılmışsa, yalnızca görüntü kodlayıcısı 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ısı subfolder'dan farklı bir klasörde konumlandırılmışsa, görüntü kodlayıcısı 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ı) — Protokole veya uç noktaya göre 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) — Yalnızca yerel model ağırlıkları 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ı) — Uzak 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 torch sürümü >= 1.9.0 ise True, aksi halde False) — Modeli yalnızca önceden eğitilmiş ağırlıkları yükleyerek ve ağırlıkları başlatmadan yüklemeyi 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

< >

( scale: float )

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ğeri düşürmek, modelin daha çeşitli görseller üretmesini teşvik eder ancak bu görseller görsel istemle aynı derecede uyumlu olmayabilir.

Örnek:

>>> # Assuming `pipeline` is already loaded with the IP Adapter weights.
>>> pipeline.set_ip_adapter_scale(0.6)
>>> ...

unload_ip_adapter

< >

( )

IP Adapter ağırlıklarını boşaltır.

Örnek:

>>> # Assuming `pipeline` is already loaded with the IP Adapter weights.
>>> pipeline.unload_ip_adapter()
>>> ...

IPAdapterMaskProcessor

sınıf diffusers.IPAdapterMaskProcessor

< >

( do_resize: bool = Truevae_scale_factor: int = 8resample: str = 'lanczos'do_normalize: bool = Falsedo_binarize: bool = Truedo_convert_grayscale: bool = True )

Parametreler

  • do_resize (bool, isteğe bağlı, varsayılan True) — Görüntünün (yükseklik, genişlik) boyutlarının vae_scale_factor'ün katlarına küçültülüp küçültülmemesi.
  • vae_scale_factor (int, isteğe bağlı, varsayılan 8) — VAE ölçek 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örselin [-1,1] aralığına normalize edilip edilmeyeceği.
  • do_binarize (bool, isteğe bağlı, varsayılan True) — Görselin 0/1 olarak ikileştirilip ikileştirilmeyeceği.
  • do_convert_grayscale (bool, isteğe bağlı, varsayılan olarak True) — Görüntülerin gri tonlamalı formata dönüştürülüp dönüştürülmemesi.

IP Adapter görüntü maskeleri için görüntü işleyici.

downsample

< >

( mask: Tensorbatch_size: intnum_queries: intvalue_embed_dim: int ) → torch.Tensor

Parametreler

  • mask (torch.Tensor) — IPAdapterMaskProcessor.preprocess() ile oluşturulan girdi 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üş değeri

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.

Update on GitHub