Diffusers documentation
IP-Adapter
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
IP Adapter'ları işlemek için karışım (mixin).
load_ip_adapter
< source >( 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 (
strveyalist[str]veyaos.PathLikeveyalist[os.PathLike]veyadictveyalist[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üğü.
- Bir dize, Hub üzerinde barındırılan önceden eğitilmiş bir modelin model kimliği (örneğin
- subfolder (
strveyalist[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_nameile aynı uzunlukta olmalıdır. - weight_name (
strveyalist[str]) — Yüklenmesi gereken ağırlık dosyasının adı. Bir liste geçiriliyorsa, uzunluğusubfolderile aynı olmalıdır. - image_encoder_folder (
str, isteğe bağlı, varsayılanimage_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çinNonegeçirin. Görüntü kodlayıcısısubfolderiç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ğinimage_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ğinimage_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ılanFalse) — 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ılanFalse) — Yalnızca yerel model ağırlıkları ve yapılandırma dosyalarının yüklenip yüklenmeyeceğini belirtir.Trueolarak ayarlanırsa, model Hub'dan indirilmez. - token (
strveya bool, isteğe bağlı) — Uzak dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak jeton.Trueise,diffusers-cli loginile oluşturulan jeton (~/.huggingfaceiç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 iseTrue, aksi haldeFalse) — 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ıTrueolarak ayarlamak bir hata verecektir.
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)IP Adapter ağırlıklarını boşaltır
SD3IPAdapterMixin
StableDiffusion 3 IP Adapters'ı işlemek için karışım (mixin).
is_ip_adapter_active
< source >( ) → 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
< source >( 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 (
strveyaos.PathLikeveyadict) — Ş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üğü.
- Bir dize, Hub üzerinde barındırılan önceden eğitilmiş bir modelin model kimliği (örneğin
- weight_name (
str, varsayılan “ip-adapter.safetensors”) — Yüklenmesi gereken ağırlık dosyasının adı. Bir liste geçiriliyorsa, uzunluğusubfolderile 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_nameile aynı uzunlukta olmalıdır. - image_encoder_folder (
str, isteğe bağlı, varsayılanimage_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çinNonegeçirin. Görüntü kodlayıcısısubfolderiç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ğinimage_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ğinimage_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ılanFalse) — 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ılanFalse) — Yalnızca yerel model ağırlıkları ve yapılandırma dosyalarının yüklenip yüklenmeyeceğini belirtir.Trueolarak ayarlanırsa, model Hub'dan indirilmez. - token (
strveya bool, isteğe bağlı) — Uzak dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak jeton.Trueise,diffusers-cli loginile oluşturulan jeton (~/.huggingfaceiç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 iseTrue, aksi haldeFalse) — 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ıTrueolarak ayarlamak bir hata verecektir.
set_ip_adapter_scale
< source >( scale: float )
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.
IP Adapter ağırlıklarını boşaltır.
IPAdapterMaskProcessor
sınıf diffusers.IPAdapterMaskProcessor
< source >( 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ılanTrue) — Görüntünün (yükseklik, genişlik) boyutlarınınvae_scale_factor'ün katlarına küçültülüp küçültülmemesi. - vae_scale_factor (
int, isteğe bağlı, varsayılan8) — VAE ölçek faktörü.do_resizeTrueise, görüntü bu faktörün katlarına otomatik olarak yeniden boyutlandırılır. - resample (
str, isteğe bağlı, varsayılanlanczos) — Görsel yeniden boyutlandırılırken kullanılacak yeniden örnekleme filtresi. - do_normalize (
bool, isteğe bağlı, varsayılanFalse) — Görselin [-1,1] aralığına normalize edilip edilmeyeceği. - do_binarize (
bool, isteğe bağlı, varsayılanTrue) — Görselin 0/1 olarak ikileştirilip ikileştirilmeyeceği. - do_convert_grayscale (
bool, isteğe bağlı, varsayılan olarakTrue) — 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
< source >( mask: Tensorbatch_size: intnum_queries: intvalue_embed_dim: int ) → torch.Tensor
Ö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.