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 adalah adapter ringan yang memungkinkan pemromptan model difusi dengan gambar. Metode ini memisahkan lapisan cross-attention untuk fitur gambar dan teks. Fitur gambar dihasilkan dari image encoder.

Pelajari cara memuat dan menggunakan checkpoint serta gambar IP-Adapter dalam panduan IP-Adapter.

IPAdapterMixin

kelas diffusers.loaders.IPAdapterMixin

< >

( )

Mixin untuk menangani IP Adapters.

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 )

Parameter

  • pretrained_model_name_or_path_or_dict (str atau list[str] atau os.PathLike atau list[os.PathLike] atau dict atau list[dict]) — Bisa berupa:
    • String, model id (misalnya google/ddpm-celebahq-256) dari model pretrained yang dihosting di Hub.
    • Path ke direktori (misalnya ./my_model_directory) yang berisi bobot model yang disimpan dengan ModelMixin.save_pretrained().
    • torch state dict.
  • subfolder (str atau list[str]) — Lokasi subfolder dari file model di dalam repositori model yang lebih besar di Hub atau secara lokal. Jika daftar yang diberikan, panjangnya harus sama dengan weight_name.
  • weight_name (str atau list[str]) — Nama file bobot yang akan dimuat. Jika daftar yang diberikan, panjangnya harus sama dengan subfolder.
  • image_encoder_folder (str, opsional, defaultnya image_encoder) — Lokasi subfolder dari image encoder di dalam repositori model yang lebih besar di Hub atau secara lokal. Lewati None untuk tidak memuat image encoder. Jika image encoder berada di dalam folder di dalam subfolder, Anda hanya perlu melewatkan nama folder yang berisi bobot image encoder, misalnya image_encoder_folder="image_encoder". Jika image encoder berada di folder selain subfolder, Anda harus melewatkan path ke folder yang berisi bobot image encoder, misalnya image_encoder_folder="different_subfolder/image_encoder".
  • cache_dir (str | os.PathLike, opsional) — Path ke direktori tempat konfigurasi model pretrained yang diunduh di-cache jika cache standar tidak digunakan.
  • force_download (bool, opsional, default False) — Apakah akan memaksa (mengunduh ulang) bobot model dan file konfigurasi, menimpa versi yang sudah di-cache jika ada.
  • proxies (dict[str, str], opsional) — Kamus server proxy yang digunakan berdasarkan protokol atau endpoint, misalnya {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Proxy digunakan pada setiap permintaan.
  • local_files_only (bool, opsional, default False) — Apakah hanya memuat bobot model dan file konfigurasi lokal atau tidak. Jika diatur ke True, model tidak akan diunduh dari Hub.
  • token (str atau bool, opsional) — Token yang digunakan sebagai otorisasi bearer HTTP untuk file jarak jauh. Jika True, token yang dihasilkan dari diffusers-cli login (disimpan di ~/.huggingface) akan digunakan.
  • revision (str, opsional, default "main") — Versi model spesifik yang akan digunakan. Bisa berupa nama branch, nama tag, commit id, atau identifier apa pun yang diizinkan oleh Git.
  • low_cpu_mem_usage (bool, opsional, defaultnya True jika versi torch >= 1.9.0 selain itu False) — Percepat pemuatan model dengan hanya memuat bobot pretrained dan tidak menginisialisasi bobot. Ini juga berusaha untuk tidak menggunakan lebih dari 1x ukuran model di memori CPU (termasuk memori puncak) saat memuat model. Hanya didukung untuk PyTorch >= 1.9.0. Jika Anda menggunakan versi PyTorch yang lebih lama, mengatur argumen ini ke True akan memicu error.

set_ip_adapter_scale

< >

( scale )

Set IP-Adapter menskalakan per blok transformer. Input scale dapat berupa satu config atau daftar config untuk kontrol granular atas perilaku masing-masing IP-Adapter. Sebuah config dapat berupa float atau dictionary.

Contoh:

# 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

< >

( )

Memuat ulang bobot IP Adapter

Contoh:

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

SD3IPAdapterMixin

kelas diffusers.loaders.SD3IPAdapterMixin

< >

( )

Mixin untuk menangani IP Adapter StableDiffusion 3.

is_ip_adapter_active

< >

( ) → bool

Mengembalikan

bool

Benar ketika IP-Adapter dimuat dan lapisan mana pun memiliki scale > 0.

Memeriksa apakah IP-Adapter dimuat dan scale > 0.

IP-Adapter scale mengontrol pengaruh prompt gambar dibandingkan dengan prompt teks. Ketika nilai ini diatur ke 0, konteks gambar tidak relevan.

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 )

Parameter

  • pretrained_model_name_or_path_or_dict (str atau os.PathLike atau dict) — Dapat berupa:
    • String, model id (misalnya google/ddpm-celebahq-256) dari model pretrained yang dihosting di Hub.
    • Path ke direktori (misalnya ./my_model_directory) yang berisi bobot model yang disimpan dengan ModelMixin.save_pretrained().
    • torch state dict.
  • weight_name (str, defaultnya “ip-adapter.safetensors”) — Nama file bobot yang akan dimuat. Jika sebuah daftar yang dilewatkan, panjangnya harus sama dengan subfolder.
  • subfolder (str, opsional) — Lokasi subfolder dari file model di dalam repositori model yang lebih besar di Hub atau secara lokal. Jika daftar yang dilewatkan, panjangnya harus sama dengan weight_name.
  • image_encoder_folder (str, opsional, defaultnya image_encoder) — Lokasi subfolder dari image encoder di dalam repositori model yang lebih besar di Hub atau secara lokal. Lewati None untuk tidak memuat image encoder. Jika image encoder berada di dalam folder di dalam subfolder, Anda hanya perlu melewatkan nama folder yang berisi bobot image encoder, misalnya image_encoder_folder="image_encoder". Jika image encoder berada di folder selain subfolder, Anda harus melewatkan path ke folder yang berisi bobot image encoder, misalnya image_encoder_folder="different_subfolder/image_encoder".
  • cache_dir (str | os.PathLike, opsional) — Path ke direktori tempat konfigurasi model pretrained yang diunduh di-cache jika cache standar tidak digunakan.
  • force_download (bool, opsional, default False) — Apakah akan memaksa (mengunduh ulang) bobot model dan file konfigurasi, menimpa versi yang sudah di-cache jika ada.
  • proxies (dict[str, str], opsional) — Kamus server proxy yang digunakan berdasarkan protokol atau endpoint, misalnya {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Proxy digunakan pada setiap permintaan.
  • local_files_only (bool, opsional, default False) — Apakah hanya memuat bobot model dan file konfigurasi lokal atau tidak. Jika diatur ke True, model tidak akan diunduh dari Hub.
  • token (str atau bool, opsional) — Token yang digunakan sebagai otorisasi bearer HTTP untuk file jarak jauh. Jika True, token yang dihasilkan dari diffusers-cli login (disimpan di ~/.huggingface) akan digunakan.
  • revision (str, opsional, default "main") — Versi model spesifik yang akan digunakan. Bisa berupa nama branch, nama tag, commit id, atau identifier apa pun yang diizinkan oleh Git.
  • low_cpu_mem_usage (bool, opsional, defaultnya True jika versi torch >= 1.9.0 selain itu False) — Percepat pemuatan model dengan hanya memuat bobot pretrained dan tidak menginisialisasi bobot. Ini juga berusaha untuk tidak menggunakan lebih dari 1x ukuran model di memori CPU (termasuk memori puncak) saat memuat model. Hanya didukung untuk PyTorch >= 1.9.0. Jika Anda menggunakan versi PyTorch yang lebih lama, mengatur argumen ini ke True akan memicu error.

set_ip_adapter_scale

< >

( scale: float )

Parameter

  • scale (float) — Skala IP-Adapter yang akan diatur.

Set skala IP-Adapter, yang mengontrol kondisioning prompt gambar. Nilai 1.0 berarti model hanya dikondisikan oleh prompt gambar, dan 0.0 hanya dikondisikan oleh prompt teks. Menurunkan nilai ini mendorong model untuk menghasilkan gambar yang lebih beragam, tetapi gambar tersebut mungkin tidak selaras dengan prompt gambar.

Contoh:

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

unload_ip_adapter

< >

( )

Memuat ulang bobot IP Adapter.

Contoh:

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

IPAdapterMaskProcessor

kelas diffusers.IPAdapterMaskProcessor

< >

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

Parameter

  • do_resize (bool, opsional, default True) — Apakah akan menurunkan dimensi (tinggi, lebar) gambar menjadi kelipatan dari vae_scale_factor.
  • vae_scale_factor (int, opsional, default 8) — Faktor skala VAE. Jika do_resize adalah True, gambar akan di-resize secara otomatis menjadi kelipatan dari faktor ini.
  • resample (str, opsional, default lanczos) — Filter resampling yang digunakan saat mengubah ukuran gambar.
  • do_normalize (bool, opsional, default False) — Apakah akan menormalisasi gambar ke [-1,1].
  • do_binarize (bool, opsional, defaultnya True) — Apakah akan mbinariskan gambar menjadi 0/1.
  • do_convert_grayscale (bool, opsional, defaultnya True) — Apakah akan mengonversi gambar ke format grayscale.

Pemroses gambar untuk masker gambar IP Adapter.

downsample

< >

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

Parameter

  • mask (torch.Tensor) — Tensor mask input yang dihasilkan dengan IPAdapterMaskProcessor.preprocess().
  • batch_size (int) — Ukuran batch.
  • num_queries (int) — Jumlah query.
  • value_embed_dim (int) — Dimensi dari value embeddings.

Mengembalikan

torch.Tensor

Tensor mask yang telah di-downsample.

Menurunkan sampel tensor mask yang diberikan agar sesuai dengan dimensi yang diharapkan untuk scaled dot-product attention. Jika rasio aspek mask tidak cocok dengan rasio aspek gambar keluaran, peringatan akan diterbitkan.

Update on GitHub