Buckets:

mishig's picture
|
download
raw
13.4 kB

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[[diffusers.loaders.IPAdapterMixin]]

diffusers.loaders.IPAdapterMixin[[diffusers.loaders.IPAdapterMixin]]

diffusers.loaders.IPAdapterMixin()

Sumber

Mixin untuk menangani IP Adapters.

load_ip_adapter[[diffusers.loaders.IPAdapterMixin.load_ip_adapter]]

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)

Sumber

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 salah satu dari: - String, model id (misalnya google/ddpm-celebahq-256) dari model pretrained yang dihosting di Hub. - Path ke directory (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. Berikan None untuk tidak memuat image encoder. Jika image encoder berada di dalam folder di dalam subfolder, Anda hanya perlu memberikan nama folder yang berisi bobot image encoder, misalnya image_encoder_folder="image_encoder". Jika image encoder berada di folder selain subfolder, Anda harus memberikan 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, defaultnya False) : Apakah akan memaksa (mengunduh ulang) bobot model dan file konfigurasi, menimpa versi yang di-cache jika ada.

proxies (dict[str, str], opsional) : Kamus server proxy yang akan 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, defaultnya 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, defaultnya "main") : Versi model spesifik yang akan digunakan. Bisa berupa nama branch, nama tag, id commit, atau identifikasi apa pun yang diizinkan oleh Git.

low_cpu_mem_usage (bool, opsional, defaultnya True jika versi torch >= 1.9.0 selain itu False) : Mempercepat 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[[diffusers.loaders.IPAdapterMixin.set_ip_adapter_scale]]

set_ip_adapter_scale(scale)

Sumber

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[[diffusers.loaders.IPAdapterMixin.unload_ip_adapter]]

unload_ip_adapter()

Sumber

Memuat ulang bobot IP Adapter

Contoh:

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

SD3IPAdapterMixin[[diffusers.loaders.SD3IPAdapterMixin]]

diffusers.loaders.SD3IPAdapterMixin[[diffusers.loaders.SD3IPAdapterMixin]]

diffusers.loaders.SD3IPAdapterMixin()

Sumber

Mixin untuk menangani IP Adapter StableDiffusion 3.

is_ip_adapter_active[[diffusers.loaders.SD3IPAdapterMixin.is_ip_adapter_active]]

is_ip_adapter_active()

Sumber

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[[diffusers.loaders.SD3IPAdapterMixin.load_ip_adapter]]

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)

Sumber

Parameter:

pretrained_model_name_or_path_or_dict (str atau os.PathLike atau dict) : Bisa berupa: - String, model id (misalnya google/ddpm-celebahq-256) dari model pretrained yang dihosting di Hub. - Path ke directory (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 daftar yang diberikan, 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 diberikan, 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. Berikan None untuk tidak memuat image encoder. Jika image encoder berada di dalam folder di dalam subfolder, Anda hanya perlu memberikan nama folder yang berisi bobot image encoder, misalnya image_encoder_folder="image_encoder". Jika image encoder berada di folder selain subfolder, Anda harus memberikan 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, defaultnya False) : Apakah akan memaksa (mengunduh ulang) bobot model dan file konfigurasi, menimpa versi yang di-cache jika ada.

proxies (dict[str, str], opsional) : Kamus server proxy yang akan 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, defaultnya 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, defaultnya "main") : Versi model spesifik yang akan digunakan. Bisa berupa nama branch, nama tag, id commit, atau identifikasi apa pun yang diizinkan oleh Git.

low_cpu_mem_usage (bool, opsional, defaultnya True jika versi torch >= 1.9.0 selain itu False) : Mempercepat 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[[diffusers.loaders.SD3IPAdapterMixin.set_ip_adapter_scale]]

set_ip_adapter_scale(scale: float)

Sumber

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[[diffusers.loaders.SD3IPAdapterMixin.unload_ip_adapter]]

unload_ip_adapter()

Sumber

Memuat ulang bobot IP Adapter.

Contoh:

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

IPAdapterMaskProcessor[[diffusers.IPAdapterMaskProcessor]]

diffusers.IPAdapterMaskProcessor[[diffusers.IPAdapterMaskProcessor]]

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)

Sumber

Parameter:

do_resize (bool, opsional, defaultnya True) : Apakah akan menurunkan skala dimensi (tinggi, lebar) gambar menjadi kelipatan dari vae_scale_factor.

vae_scale_factor (int, opsional, defaultnya 8) : Faktor skala VAE. Jika do_resize adalah True, gambar akan di-resize secara otomatis menjadi kelipatan dari faktor ini.

resample (str, opsional, defaultnya lanczos) : Filter resampling yang digunakan saat mengubah ukuran gambar.

do_normalize (bool, opsional, defaultnya False) : Apakah akan menormalisasi gambar ke [-1,1].

do_binarize (bool, opsional, defaultnya True) : Apakah akan mbinerisasi 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[[diffusers.IPAdapterMaskProcessor.downsample]]

downsample(mask: Tensor, batch_size: int, num_queries: int, value_embed_dim: int)

Sumber

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.

Xet Storage Details

Size:
13.4 kB
·
Xet hash:
e48e08557e0ed13493ec17d0f263069927a160259c5de2beefed8715b50d3be3

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