Diffusers documentation
Kandinsky 2.2
Kandinsky 2.2
Kandinsky 2.2 dibuat oleh Arseniy Shakhmatov, Anton Razzhigaev, Aleksandr Nikolich, Vladimir Arkhipkin, Igor Pavlov, Andrey Kuznetsov, dan Denis Dimitrov.
Deskripsi dari halaman GitHub-nya adalah:
Kandinsky 2.2 membawa peningkatan substansial dibandingkan pendahulunya, Kandinsky 2.1, dengan memperkenalkan encoder gambar baru yang lebih kuat - CLIP-ViT-G dan dukungan ControlNet. Pergantian ke CLIP-ViT-G sebagai encoder gambar secara signifikan meningkatkan kemampuan model untuk menghasilkan gambar yang lebih estetis dan memahami teks dengan lebih baik, sehingga meningkatkan kinerja keseluruhan model. Penambahan mekanisme ControlNet memungkinkan model untuk mengendalikan proses penggenerasian gambar secara efektif. Hal ini menghasilkan output yang lebih akurat dan menarik secara visual, serta membuka kemungkinan baru untuk manipulasi gambar yang dipandu teks.
Kodebase asli dapat ditemukan di ai-forever/Kandinsky-2.
Lihat organisasi Kandinsky Community di Hub untuk checkpoint model resmi untuk tugas seperti text-to-image, image-to-image, dan inpainting.
Pastikan untuk melihat panduan scheduler untuk mempelajari cara mengeksplorasi tradeoff antara kecepatan dan kualitas scheduler, serta lihat bagian menggunakan ulang komponen di berbagai pipeline untuk mempelajari cara memuat komponen yang sama secara efisien ke dalam beberapa pipeline.
KandinskyV22PriorPipeline
kelas diffusers.KandinskyV22PriorPipeline
< source >( prior: PriorTransformerimage_encoder: CLIPVisionModelWithProjectiontext_encoder: CLIPTextModelWithProjectiontokenizer: CLIPTokenizerscheduler: UnCLIPSchedulerimage_processor: CLIPImageProcessorPil )
Parameter
- prior (PriorTransformer) — prior unCLIP kanonik untuk mengaproksimasi embedding gambar dari embedding teks.
- image_encoder (
CLIPVisionModelWithProjection) — Encoder gambar yang dibekukan. - text_encoder (
CLIPTextModelWithProjection) — Text-encoder yang dibekukan. - tokenizer (
CLIPTokenizer) — Tokenizer dari kelas CLIPTokenizer. - scheduler (
UnCLIPScheduler) — Penjadwal yang digunakan bersamaprioruntuk menghasilkan embedding gambar. - image_processor (
CLIPImageProcessor) — image_processor yang digunakan untuk prapemrosesan gambar dari clip.
Pipeline untuk menghasilkan prior gambar untuk Kandinsky
Model ini mewarisi dari DiffusionPipeline. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua pipeline (seperti mengunduh atau menyimpan, menjalankan pada perangkat tertentu, dll.)
__call__
< source >( prompt: str | list[str]negative_prompt: str | list[str] | None = Nonenum_images_per_prompt: int = 1num_inference_steps: int = 25generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Noneguidance_scale: float = 4.0output_type: str | None = 'pt'return_dict: bool = Truecallback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = Nonecallback_on_step_end_tensor_inputs: list[str] = ['latents'] ) → KandinskyPriorPipelineOutput or tuple
Parameter
- prompt (
strataulist[str]) — Prompt atau kumpulan prompt untuk mengarahkan generasi gambar. - negative_prompt (
strataulist[str], opsional) — Prompt atau prompt-prompt yang tidak digunakan untuk mengarahkan generasi gambar. Diabaikan ketika tidak menggunakan guidance (yaitu, diabaikan jikaguidance_scalekurang dari1). - num_images_per_prompt (
int, opsional, default 1) — Jumlah gambar yang akan dihasilkan per prompt. - num_inference_steps (
int, opsional, default 100) — Jumlah langkah denoising. Semakin banyak langkah denoising, biasanya menghasilkan gambar dengan kualitas lebih tinggi, namun dengan biaya inferensi yang lebih lambat. - generator (
torch.Generatorataulist[torch.Generator], opsional) — Satu atau daftar generator torch untuk membuat proses generasi menjadi deterministik. - latents (
torch.Tensor, opsional) — Latents berisik yang telah dibuat sebelumnya, diambil dari distribusi Gaussian, untuk digunakan sebagai input untuk generasi gambar. Dapat digunakan untuk menyesuaikan generasi yang sama dengan prompt yang berbeda. Jika tidak disediakan, tensor latents akan dibuat dengan pengambilan sampel menggunakangeneratoracak yang diberikan. - guidance_scale (
float, opsional, default 4.0) — Skala panduan seperti yang didefinisikan dalam Classifier-Free Diffusion Guidance.guidance_scaledidefinisikan sebagaiwdari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengaturguidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait denganpromptteks, biasanya dengan mengorbankan kualitas gambar yang lebih rendah. - output_type (
str, opsional, default"pt") — Format output dari generate image. Pilih antara:"np"(np.array) atau"pt"(torch.Tensor). - return_dict (
bool, opsional, defaultnyaTrue) — Apakah akan mengembalikan ImagePipelineOutput alih-alih tuple biasa. - callback_on_step_end (
Callable, opsional) — Fungsi yang dipanggil di akhir setiap langkah denoising selama inferensi. Fungsi ini dipanggil dengan argumen berikut:callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict).callback_kwargsakan berisi daftar semua tensor sesuai yang ditentukan olehcallback_on_step_end_tensor_inputs. - callback_on_step_end_tensor_inputs (
list, opsional) — Daftar input tensor untuk fungsicallback_on_step_end. Tensor yang ditentukan dalam daftar akan diteruskan sebagai argumencallback_kwargs. Anda hanya dapat menyertakan variabel yang tercantum dalam atribut._callback_tensor_inputsdari kelas pipeline Anda.
Mengembalikan
KandinskyPriorPipelineOutput atau tuple
Fungsi yang dipanggil saat memanggil pipeline untuk generasi.
Contoh:
>>> from diffusers import KandinskyV22Pipeline, KandinskyV22PriorPipeline
>>> import torch
>>> pipe_prior = KandinskyV22PriorPipeline.from_pretrained("kandinsky-community/kandinsky-2-2-prior")
>>> pipe_prior.to("cuda")
>>> prompt = "red cat, 4k photo"
>>> image_emb, negative_image_emb = pipe_prior(prompt).to_tuple()
>>> pipe = KandinskyV22Pipeline.from_pretrained("kandinsky-community/kandinsky-2-2-decoder")
>>> pipe.to("cuda")
>>> image = pipe(
... image_embeds=image_emb,
... negative_image_embeds=negative_image_emb,
... height=768,
... width=768,
... num_inference_steps=50,
... ).images
>>> image[0].save("cat.png")interpolate
< source >( images_and_prompts: list[typing.Union[str, PIL.Image.Image, torch.Tensor]]weights: list[float]num_images_per_prompt: int = 1num_inference_steps: int = 25generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Nonenegative_prior_prompt: str | None = Nonenegative_prompt: str = ''guidance_scale: float = 4.0device = None ) → KandinskyPriorPipelineOutput or tuple
Parameter
- images_and_prompts (
list[str | PIL.Image.Image | torch.Tensor]) — daftar prompt dan gambar untuk memandu pembuatan gambar. - weights — (
list[float]): daftar bobot untuk setiap kondisi diimages_and_prompts - num_images_per_prompt (
int, opsional, default 1) — Jumlah gambar yang akan dihasilkan per prompt. - num_inference_steps (
int, opsional, default 100) — Jumlah langkah denoising. Semakin banyak langkah denoising, biasanya menghasilkan gambar dengan kualitas lebih tinggi, namun dengan biaya inferensi yang lebih lambat. - generator (
torch.Generatorataulist[torch.Generator], opsional) — Satu atau daftar generator torch untuk membuat proses generasi menjadi deterministik. - latents (
torch.Tensor, opsional) — Latents berisik yang telah dibuat sebelumnya, diambil dari distribusi Gaussian, untuk digunakan sebagai input untuk generasi gambar. Dapat digunakan untuk menyesuaikan generasi yang sama dengan prompt yang berbeda. Jika tidak disediakan, tensor latents akan dibuat dengan pengambilan sampel menggunakangeneratoracak yang diberikan. - negative_prior_prompt (
str, opsional) — Prompt yang tidak digunakan untuk memandu proses difusi prior. Diabaikan saat tidak menggunakan guidance (yaitu, diabaikan jikaguidance_scalekurang dari1). - negative_prompt (
strataulist[str], opsional) — Prompt yang tidak digunakan untuk mengarahkan generasi gambar. Diabaikan saat tidak menggunakan guidance (yaitu, diabaikan jikaguidance_scalekurang dari1). - guidance_scale (
float, opsional, default 4.0) — Skala panduan seperti yang didefinisikan dalam Classifier-Free Diffusion Guidance.guidance_scaledidefinisikan sebagaiwdari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengaturguidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait denganpromptteks, biasanya dengan mengorbankan kualitas gambar yang lebih rendah.
Mengembalikan
KandinskyPriorPipelineOutput atau tuple
Fungsi yang dipanggil saat menggunakan pipeline sebelumnya untuk interpolasi.
Contoh:
>>> from diffusers import KandinskyV22PriorPipeline, KandinskyV22Pipeline
>>> from diffusers.utils import load_image
>>> import PIL
>>> import torch
>>> from torchvision import transforms
>>> pipe_prior = KandinskyV22PriorPipeline.from_pretrained(
... "kandinsky-community/kandinsky-2-2-prior", torch_dtype=torch.float16
... )
>>> pipe_prior.to("cuda")
>>> img1 = load_image(
... "https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/kandinsky/cat.png"
... )
>>> img2 = load_image(
... "https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main"
... "/kandinsky/starry_night.jpeg"
... )
>>> images_texts = ["a cat", img1, img2]
>>> weights = [0.3, 0.3, 0.4]
>>> out = pipe_prior.interpolate(images_texts, weights)
>>> pipe = KandinskyV22Pipeline.from_pretrained(
... "kandinsky-community/kandinsky-2-2-decoder", torch_dtype=torch.float16
... )
>>> pipe.to("cuda")
>>> image = pipe(
... image_embeds=out.image_embeds,
... negative_image_embeds=out.negative_image_embeds,
... height=768,
... width=768,
... num_inference_steps=50,
... ).images[0]
>>> image.save("starry_cat.png")KandinskyV22Pipeline
kelas diffusers.KandinskyV22Pipeline
< source >( unet: UNet2DConditionModelscheduler: DDPMSchedulermovq: VQModel )
Parameter
- scheduler (
DDIMScheduler|DDPMScheduler) — Scheduler yang digunakan bersamaunetuntuk menghasilkan latens gambar. - unet (UNet2DConditionModel) — Arsitektur U-Net bersyarat untuk mendenoising embedding gambar.
- movq (VQModel) — MoVQ Decoder untuk menghasilkan gambar dari latents.
Pipeline untuk generasi teks-ke-gambar menggunakan Kandinsky
Model ini mewarisi dari DiffusionPipeline. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua pipeline (seperti mengunduh atau menyimpan, menjalankan pada perangkat tertentu, dll.)
__call__
< source >( image_embeds: typing.Union[torch.Tensor, list[torch.Tensor]]negative_image_embeds: typing.Union[torch.Tensor, list[torch.Tensor]]height: int = 512width: int = 512num_inference_steps: int = 100guidance_scale: float = 4.0num_images_per_prompt: int = 1generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Noneoutput_type: str | None = 'pil'return_dict: bool = Truecallback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = Nonecallback_on_step_end_tensor_inputs: list[str] = ['latents']**kwargs ) → ImagePipelineOutput or tuple
Parameter
- image_embeds (
torch.Tensorataulist[torch.Tensor]) — Embedding gambar clip untuk prompt teks, yang akan digunakan untuk mengondisikan generasi gambar. - negative_image_embeds (
torch.Tensorataulist[torch.Tensor]) — Embedding gambar clip untuk prompt teks negatif, akan digunakan untuk mengondisikan generasi gambar. - height (
int, opsional, default 512) — Tinggi gambar yang dihasilkan dalam piksel. - width (
int, opsional, default 512) — Lebar gambar yang dihasilkan dalam piksel. - num_inference_steps (
int, opsional, default 100) — Jumlah langkah denoising. Semakin banyak langkah denoising, biasanya menghasilkan gambar dengan kualitas lebih tinggi, namun dengan biaya inferensi yang lebih lambat. - guidance_scale (
float, opsional, default 4.0) — Skala panduan seperti yang didefinisikan dalam Classifier-Free Diffusion Guidance.guidance_scaledidefinisikan sebagaiwdari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengaturguidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait denganpromptteks, biasanya dengan mengorbankan kualitas gambar yang lebih rendah. - num_images_per_prompt (
int, opsional, default 1) — Jumlah gambar yang akan dihasilkan per prompt. - generator (
torch.Generatorataulist[torch.Generator], opsional) — Satu atau daftar generator torch untuk membuat proses generasi menjadi deterministik. - latents (
torch.Tensor, opsional) — Latents berisik yang telah dibuat sebelumnya, diambil dari distribusi Gaussian, untuk digunakan sebagai input untuk generasi gambar. Dapat digunakan untuk menyesuaikan generasi yang sama dengan prompt yang berbeda. Jika tidak disediakan, tensor latents akan dibuat dengan pengambilan sampel menggunakangeneratoracak yang diberikan. - output_type (
str, opsional, default"pil") — Format output dari generate image. Pilih antara:"pil"(PIL.Image.Image),"np"(np.array) atau"pt"(torch.Tensor). - return_dict (
bool, opsional, defaultnyaTrue) — Apakah akan mengembalikan ImagePipelineOutput alih-alih tuple biasa. - callback_on_step_end (
Callable, opsional) — Fungsi yang dipanggil di akhir setiap langkah denoising selama inferensi. Fungsi ini dipanggil dengan argumen berikut:callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict).callback_kwargsakan berisi daftar semua tensor sesuai yang ditentukan olehcallback_on_step_end_tensor_inputs. - callback_on_step_end_tensor_inputs (
list, opsional) — Daftar input tensor untuk fungsicallback_on_step_end. Tensor yang ditentukan dalam daftar akan diteruskan sebagai argumencallback_kwargs. Anda hanya dapat menyertakan variabel yang tercantum dalam atribut._callback_tensor_inputsdari kelas pipeline Anda.
Mengembalikan
ImagePipelineOutput atau tuple
Fungsi yang dipanggil saat memanggil pipeline untuk generasi.
Contoh:
>>> from diffusers import KandinskyV22Pipeline, KandinskyV22PriorPipeline
>>> import torch
>>> pipe_prior = KandinskyV22PriorPipeline.from_pretrained("kandinsky-community/kandinsky-2-2-prior")
>>> pipe_prior.to("cuda")
>>> prompt = "red cat, 4k photo"
>>> out = pipe_prior(prompt)
>>> image_emb = out.image_embeds
>>> zero_image_emb = out.negative_image_embeds
>>> pipe = KandinskyV22Pipeline.from_pretrained("kandinsky-community/kandinsky-2-2-decoder")
>>> pipe.to("cuda")
>>> image = pipe(
... image_embeds=image_emb,
... negative_image_embeds=zero_image_emb,
... height=768,
... width=768,
... num_inference_steps=50,
... ).images
>>> image[0].save("cat.png")KandinskyV22CombinedPipeline
kelas diffusers.KandinskyV22CombinedPipeline
< source >( unet: UNet2DConditionModelscheduler: DDPMSchedulermovq: VQModelprior_prior: PriorTransformerprior_image_encoder: CLIPVisionModelWithProjectionprior_text_encoder: CLIPTextModelWithProjectionprior_tokenizer: CLIPTokenizerprior_scheduler: UnCLIPSchedulerprior_image_processor: CLIPImageProcessorPil )
Parameter
- scheduler (
DDIMScheduler|DDPMScheduler) — Scheduler yang digunakan bersamaunetuntuk menghasilkan latens gambar. - unet (UNet2DConditionModel) — Arsitektur U-Net bersyarat untuk mendenoising embedding gambar.
- movq (VQModel) — MoVQ Decoder untuk menghasilkan gambar dari latents.
- prior_prior (PriorTransformer) — prior unCLIP kanonik untuk mengaproksimasi embedding gambar dari embedding teks.
- prior_image_encoder (
CLIPVisionModelWithProjection) — Image-encoder yang dibekukan. - prior_text_encoder (
CLIPTextModelWithProjection) — Text-encoder yang dibekukan. - prior_tokenizer (
CLIPTokenizer) — Tokenizer dari kelas CLIPTokenizer. - prior_scheduler (
UnCLIPScheduler) — Scheduler yang digunakan bersamaprioruntuk menghasilkan embedding gambar. - prior_image_processor (
CLIPImageProcessor) — image_processor yang digunakan untuk memproses prapenanganan gambar dari clip.
Pipeline Gabungan untuk pembuatan teks-ke-gambar menggunakan Kandinsky
Model ini mewarisi dari DiffusionPipeline. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua pipeline (seperti mengunduh atau menyimpan, menjalankan pada perangkat tertentu, dll.)
__call__
< source >( prompt: str | list[str]negative_prompt: str | list[str] | None = Nonenum_inference_steps: int = 100guidance_scale: float = 4.0num_images_per_prompt: int = 1height: int = 512width: int = 512prior_guidance_scale: float = 4.0prior_num_inference_steps: int = 25generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Noneoutput_type: str | None = 'pil'callback: typing.Optional[typing.Callable[[int, int, torch.Tensor], NoneType]] = Nonecallback_steps: int = 1return_dict: bool = Trueprior_callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = Noneprior_callback_on_step_end_tensor_inputs: list[str] = ['latents']callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = Nonecallback_on_step_end_tensor_inputs: list[str] = ['latents'] ) → ImagePipelineOutput or tuple
Parameter
- prompt (
strataulist[str]) — Prompt atau kumpulan prompt untuk mengarahkan generasi gambar. - negative_prompt (
strataulist[str], opsional) — Prompt atau prompt-prompt yang tidak digunakan untuk mengarahkan generasi gambar. Diabaikan ketika tidak menggunakan guidance (yaitu, diabaikan jikaguidance_scalekurang dari1). - num_images_per_prompt (
int, opsional, default 1) — Jumlah gambar yang akan dihasilkan per prompt. - num_inference_steps (
int, opsional, default 100) — Jumlah langkah denoising. Semakin banyak langkah denoising, biasanya menghasilkan gambar dengan kualitas lebih tinggi, namun dengan biaya inferensi yang lebih lambat. - height (
int, opsional, default 512) — Tinggi gambar yang dihasilkan dalam piksel. - width (
int, opsional, default 512) — Lebar gambar yang dihasilkan dalam piksel. - prior_guidance_scale (
float, opsional, default 4.0) — Skala panduan seperti yang didefinisikan dalam Classifier-Free Diffusion Guidance.guidance_scaledidefinisikan sebagaiwdari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengaturguidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait denganpromptteks, biasanya dengan mengorbankan kualitas gambar yang lebih rendah. - prior_num_inference_steps (
int, opsional, default 100) — Jumlah langkah denoising. Semakin banyak langkah denoising, biasanya menghasilkan gambar dengan kualitas lebih tinggi, namun dengan biaya inferensi yang lebih lambat. - guidance_scale (
float, opsional, default 4.0) — Skala panduan seperti yang didefinisikan dalam Classifier-Free Diffusion Guidance.guidance_scaledidefinisikan sebagaiwdari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengaturguidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait denganpromptteks, biasanya dengan mengorbankan kualitas gambar yang lebih rendah. - generator (
torch.Generatorataulist[torch.Generator], opsional) — Satu atau daftar generator torch untuk membuat proses generasi menjadi deterministik. - latents (
torch.Tensor, opsional) — Latents berisik yang telah dibuat sebelumnya, diambil dari distribusi Gaussian, untuk digunakan sebagai input untuk generasi gambar. Dapat digunakan untuk menyesuaikan generasi yang sama dengan prompt yang berbeda. Jika tidak disediakan, tensor latents akan dibuat dengan pengambilan sampel menggunakangeneratoracak yang diberikan. - output_type (
str, opsional, default"pil") — Format output dari generate image. Pilih antara:"pil"(PIL.Image.Image),"np"(np.array) atau"pt"(torch.Tensor). - callback (
Callable, opsional) — Fungsi yang dipanggil setiapcallback_stepslangkah selama inferensi. Fungsi ini dipanggil dengan argumen berikut:callback(step: int, timestep: int, latents: torch.Tensor). - callback_steps (
int, opsional, default 1) — Frekuensi pemanggilan fungsicallback. Jika tidak ditentukan, callback dipanggil pada setiap langkah. - return_dict (
bool, opsional, defaultnyaTrue) — Apakah akan mengembalikan ImagePipelineOutput alih-alih tuple biasa. - prior_callback_on_step_end (
Callable, opsional) — Fungsi yang dipanggil di akhir setiap langkah denoising selama inferensi pipeline prior. Fungsi ini dipanggil dengan argumen berikut:prior_callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict). - prior_callback_on_step_end_tensor_inputs (
list, opsional) — Daftar input tensor untuk fungsiprior_callback_on_step_end. Tensor yang ditentukan dalam daftar akan diteruskan sebagai argumencallback_kwargs. Anda hanya dapat menyertakan variabel yang terdaftar dalam atribut._callback_tensor_inputsdari kelas pipeline prior Anda. - callback_on_step_end (
Callable, opsional) — Fungsi yang dipanggil di akhir setiap langkah denoising selama inferensi pipeline decoder. Fungsi ini dipanggil dengan argumen berikut:callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict).callback_kwargsakan berisi daftar semua tensor sebagaimana ditentukan olehcallback_on_step_end_tensor_inputs. - callback_on_step_end_tensor_inputs (
list, opsional) — Daftar input tensor untuk fungsicallback_on_step_end. Tensor yang ditentukan dalam daftar akan diteruskan sebagai argumencallback_kwargs. Anda hanya dapat menyertakan variabel yang tercantum dalam atribut._callback_tensor_inputsdari kelas pipeline Anda.
Mengembalikan
ImagePipelineOutput atau tuple
Fungsi yang dipanggil saat memanggil pipeline untuk generasi.
Contoh:
from diffusers import AutoPipelineForText2Image
import torch
pipe = AutoPipelineForText2Image.from_pretrained(
"kandinsky-community/kandinsky-2-2-decoder", torch_dtype=torch.float16
)
pipe.enable_model_cpu_offload()
prompt = "A lion in galaxies, spirals, nebulae, stars, smoke, iridescent, intricate detail, octane render, 8k"
image = pipe(prompt=prompt, num_inference_steps=25).images[0]enable_sequential_cpu_offload
< source >( gpu_id: int | None = Nonedevice: typing.Union[torch.device, str] = None )
Offloads all models to CPU using accelerate, secara signifikan mengurangi penggunaan memori. Saat dipanggil, unet,
text_encoder, vae dan safety checker menyimpan state dicts mereka ke CPU, kemudian dipindahkan ke torch.device('meta') and loaded to GPU only when their specific submodule has itsforwardmethod called. Note that offloading happens on a submodule basis. Memory savings are higher than withenable_model_cpu_offload`, but performance is lower.
KandinskyV22ControlnetPipeline
kelas diffusers.KandinskyV22ControlnetPipeline
< source >( unet: UNet2DConditionModelscheduler: DDPMSchedulermovq: VQModel )
Parameter
- scheduler (DDIMScheduler) —
Scheduler yang digunakan bersama
unetuntuk menghasilkan latens gambar. - unet (UNet2DConditionModel) — Arsitektur U-Net bersyarat untuk mendenoising embedding gambar.
- movq (VQModel) — MoVQ Decoder untuk menghasilkan gambar dari latents.
Pipeline untuk generasi teks-ke-gambar menggunakan Kandinsky
Model ini mewarisi dari DiffusionPipeline. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua pipeline (seperti mengunduh atau menyimpan, menjalankan pada perangkat tertentu, dll.)
__call__
< source >( image_embeds: typing.Union[torch.Tensor, list[torch.Tensor]]negative_image_embeds: typing.Union[torch.Tensor, list[torch.Tensor]]hint: Tensorheight: int = 512width: int = 512num_inference_steps: int = 100guidance_scale: float = 4.0num_images_per_prompt: int = 1generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Noneoutput_type: str | None = 'pil'callback: typing.Optional[typing.Callable[[int, int, torch.Tensor], NoneType]] = Nonecallback_steps: int = 1return_dict: bool = True ) → ImagePipelineOutput or tuple
Parameter
- hint (
torch.Tensor) — Kondisi controlnet. - image_embeds (
torch.Tensorataulist[torch.Tensor]) — Embedding gambar clip untuk prompt teks, yang akan digunakan untuk mengondisikan generasi gambar. - negative_image_embeds (
torch.Tensorataulist[torch.Tensor]) — Embedding gambar clip untuk prompt teks negatif, akan digunakan untuk mengondisikan generasi gambar. - height (
int, opsional, default 512) — Tinggi gambar yang dihasilkan dalam piksel. - width (
int, opsional, default 512) — Lebar gambar yang dihasilkan dalam piksel. - num_inference_steps (
int, opsional, default 100) — Jumlah langkah denoising. Semakin banyak langkah denoising, biasanya menghasilkan gambar dengan kualitas lebih tinggi, namun dengan biaya inferensi yang lebih lambat. - guidance_scale (
float, opsional, default 4.0) — Skala panduan seperti yang didefinisikan dalam Classifier-Free Diffusion Guidance.guidance_scaledidefinisikan sebagaiwdari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengaturguidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait denganpromptteks, biasanya dengan mengorbankan kualitas gambar yang lebih rendah. - num_images_per_prompt (
int, opsional, default 1) — Jumlah gambar yang akan dihasilkan per prompt. - generator (
torch.Generatorataulist[torch.Generator], opsional) — Satu atau daftar generator torch untuk membuat proses generasi menjadi deterministik. - latents (
torch.Tensor, opsional) — Latents berisik yang telah dibuat sebelumnya, diambil dari distribusi Gaussian, untuk digunakan sebagai input untuk generasi gambar. Dapat digunakan untuk menyesuaikan generasi yang sama dengan prompt yang berbeda. Jika tidak disediakan, tensor latents akan dibuat dengan pengambilan sampel menggunakangeneratoracak yang diberikan. - output_type (
str, opsional, default"pil") — Format output dari generate image. Pilih antara:"pil"(PIL.Image.Image),"np"(np.array) atau"pt"(torch.Tensor). - callback (
Callable, opsional) — Fungsi yang dipanggil setiapcallback_stepslangkah selama inferensi. Fungsi ini dipanggil dengan argumen berikut:callback(step: int, timestep: int, latents: torch.Tensor). - callback_steps (
int, opsional, default 1) — Frekuensi pemanggilan fungsicallback. Jika tidak ditentukan, callback dipanggil pada setiap langkah. - return_dict (
bool, opsional, defaultnyaTrue) — Apakah akan mengembalikan ImagePipelineOutput alih-alih tuple biasa.
Mengembalikan
ImagePipelineOutput atau tuple
Fungsi yang dipanggil saat memanggil pipeline untuk generasi.
Contoh:
KandinskyV22PriorEmb2EmbPipeline
kelas diffusers.KandinskyV22PriorEmb2EmbPipeline
< source >( prior: PriorTransformerimage_encoder: CLIPVisionModelWithProjectiontext_encoder: CLIPTextModelWithProjectiontokenizer: CLIPTokenizerscheduler: UnCLIPSchedulerimage_processor: CLIPImageProcessorPil )
Parameter
- prior (PriorTransformer) — prior unCLIP kanonik untuk mengaproksimasi embedding gambar dari embedding teks.
- image_encoder (
CLIPVisionModelWithProjection) — Encoder gambar yang dibekukan. - text_encoder (
CLIPTextModelWithProjection) — Text-encoder yang dibekukan. - tokenizer (
CLIPTokenizer) — Tokenizer dari kelas CLIPTokenizer. - scheduler (
UnCLIPScheduler) — Penjadwal yang digunakan bersamaprioruntuk menghasilkan embedding gambar.
Pipeline untuk menghasilkan prior gambar untuk Kandinsky
Model ini mewarisi dari DiffusionPipeline. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua pipeline (seperti mengunduh atau menyimpan, menjalankan pada perangkat tertentu, dll.)
__call__
< source >( prompt: str | list[str]image: typing.Union[torch.Tensor, list[torch.Tensor], PIL.Image.Image, list[PIL.Image.Image]]strength: float = 0.3negative_prompt: str | list[str] | None = Nonenum_images_per_prompt: int = 1num_inference_steps: int = 25generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Noneguidance_scale: float = 4.0output_type: str | None = 'pt'return_dict: bool = True ) → KandinskyPriorPipelineOutput or tuple
Parameter
- prompt (
strataulist[str]) — Prompt atau kumpulan prompt untuk mengarahkan generasi gambar. - image (
torch.Tensor,PIL.Image.Image,list[torch.Tensor]ataulist[PIL.Image.Image]) —Image, atau tensor yang mewakili batch gambar, yang akan digunakan sebagai titik awal untuk embedding gambar. Dapat juga menerima latents gambar sebagaiimage; jika latents diteruskan secara langsung, latents tersebut tidak akan di-encode ulang. - strength (
float, opsional, default 0.8) — Secara konseptual, menunjukkan seberapa besar transformasi yang diterapkan padaimagereferensi. Nilainya harus berada di antara 0 dan 1.imageakan digunakan sebagai titik awal, dengan semakin banyak noise yang ditambahkan seiring dengan semakin besarnya nilaistrength. Jumlah langkah denoising bergantung pada jumlah noise yang awalnya ditambahkan. - negative_prompt (
strataulist[str], opsional) — Prompt atau prompt-prompt yang tidak digunakan untuk mengarahkan generasi gambar. Diabaikan ketika tidak menggunakan guidance (yaitu, diabaikan jikaguidance_scalekurang dari1). - num_images_per_prompt (
int, opsional, default 1) — Jumlah gambar yang akan dihasilkan per prompt. - num_inference_steps (
int, opsional, default 100) — Jumlah langkah denoising. Semakin banyak langkah denoising, biasanya menghasilkan gambar dengan kualitas lebih tinggi, namun dengan biaya inferensi yang lebih lambat. - generator (
torch.Generatorataulist[torch.Generator], opsional) — Satu atau daftar generator torch untuk membuat proses generasi menjadi deterministik. - guidance_scale (
float, opsional, default 4.0) — Skala panduan seperti yang didefinisikan dalam Classifier-Free Diffusion Guidance.guidance_scaledidefinisikan sebagaiwdari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengaturguidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait denganpromptteks, biasanya dengan mengorbankan kualitas gambar yang lebih rendah. - output_type (
str, opsional, default"pt") — Format output dari generate image. Pilih antara:"np"(np.array) atau"pt"(torch.Tensor). - return_dict (
bool, opsional, defaultnyaTrue) — Apakah akan mengembalikan ImagePipelineOutput alih-alih tuple biasa.
Mengembalikan
KandinskyPriorPipelineOutput atau tuple
Fungsi yang dipanggil saat memanggil pipeline untuk generasi.
Contoh:
>>> from diffusers import KandinskyV22Pipeline, KandinskyV22PriorEmb2EmbPipeline
>>> import torch
>>> pipe_prior = KandinskyPriorPipeline.from_pretrained(
... "kandinsky-community/kandinsky-2-2-prior", torch_dtype=torch.float16
... )
>>> pipe_prior.to("cuda")
>>> prompt = "red cat, 4k photo"
>>> img = load_image(
... "https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/kandinsky/cat.png"
... )
>>> image_emb, nagative_image_emb = pipe_prior(prompt, image=img, strength=0.2).to_tuple()
>>> pipe = KandinskyPipeline.from_pretrained(
... "kandinsky-community/kandinsky-2-2-decoder, torch_dtype=torch.float16"
... )
>>> pipe.to("cuda")
>>> image = pipe(
... image_embeds=image_emb,
... negative_image_embeds=negative_image_emb,
... height=768,
... width=768,
... num_inference_steps=100,
... ).images
>>> image[0].save("cat.png")interpolate
< source >( images_and_prompts: list[typing.Union[str, PIL.Image.Image, torch.Tensor]]weights: list[float]num_images_per_prompt: int = 1num_inference_steps: int = 25generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Nonenegative_prior_prompt: str | None = Nonenegative_prompt: str = ''guidance_scale: float = 4.0device = None ) → KandinskyPriorPipelineOutput or tuple
Parameter
- images_and_prompts (
list[str | PIL.Image.Image | torch.Tensor]) — daftar prompt dan gambar untuk memandu pembuatan gambar. - weights — (
list[float]): daftar bobot untuk setiap kondisi diimages_and_prompts - num_images_per_prompt (
int, opsional, default 1) — Jumlah gambar yang akan dihasilkan per prompt. - num_inference_steps (
int, opsional, default 100) — Jumlah langkah denoising. Semakin banyak langkah denoising, biasanya menghasilkan gambar dengan kualitas lebih tinggi, namun dengan biaya inferensi yang lebih lambat. - generator (
torch.Generatorataulist[torch.Generator], opsional) — Satu atau daftar generator torch untuk membuat proses generasi menjadi deterministik. - latents (
torch.Tensor, opsional) — Latents berisik yang telah dibuat sebelumnya, diambil dari distribusi Gaussian, untuk digunakan sebagai input untuk generasi gambar. Dapat digunakan untuk menyesuaikan generasi yang sama dengan prompt yang berbeda. Jika tidak disediakan, tensor latents akan dibuat dengan pengambilan sampel menggunakangeneratoracak yang diberikan. - negative_prior_prompt (
str, opsional) — Prompt yang tidak digunakan untuk memandu proses difusi prior. Diabaikan saat tidak menggunakan guidance (yaitu, diabaikan jikaguidance_scalekurang dari1). - negative_prompt (
strataulist[str], opsional) — Prompt yang tidak digunakan untuk mengarahkan generasi gambar. Diabaikan saat tidak menggunakan guidance (yaitu, diabaikan jikaguidance_scalekurang dari1). - guidance_scale (
float, opsional, default 4.0) — Skala panduan seperti yang didefinisikan dalam Classifier-Free Diffusion Guidance.guidance_scaledidefinisikan sebagaiwdari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengaturguidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait denganpromptteks, biasanya dengan mengorbankan kualitas gambar yang lebih rendah.
Mengembalikan
KandinskyPriorPipelineOutput atau tuple
Fungsi yang dipanggil saat menggunakan pipeline sebelumnya untuk interpolasi.
Contoh:
>>> from diffusers import KandinskyV22PriorEmb2EmbPipeline, KandinskyV22Pipeline
>>> from diffusers.utils import load_image
>>> import PIL
>>> import torch
>>> from torchvision import transforms
>>> pipe_prior = KandinskyV22PriorPipeline.from_pretrained(
... "kandinsky-community/kandinsky-2-2-prior", torch_dtype=torch.float16
... )
>>> pipe_prior.to("cuda")
>>> img1 = load_image(
... "https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/kandinsky/cat.png"
... )
>>> img2 = load_image(
... "https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main"
... "/kandinsky/starry_night.jpeg"
... )
>>> images_texts = ["a cat", img1, img2]
>>> weights = [0.3, 0.3, 0.4]
>>> image_emb, zero_image_emb = pipe_prior.interpolate(images_texts, weights)
>>> pipe = KandinskyV22Pipeline.from_pretrained(
... "kandinsky-community/kandinsky-2-2-decoder", torch_dtype=torch.float16
... )
>>> pipe.to("cuda")
>>> image = pipe(
... image_embeds=image_emb,
... negative_image_embeds=zero_image_emb,
... height=768,
... width=768,
... num_inference_steps=150,
... ).images[0]
>>> image.save("starry_cat.png")KandinskyV22Img2ImgPipeline
kelas diffusers.KandinskyV22Img2ImgPipeline
< source >( unet: UNet2DConditionModelscheduler: DDPMSchedulermovq: VQModel )
Parameter
- scheduler (DDIMScheduler) —
Scheduler yang digunakan bersama
unetuntuk menghasilkan latens gambar. - unet (UNet2DConditionModel) — Arsitektur U-Net bersyarat untuk mendenoising embedding gambar.
- movq (VQModel) — MoVQ Decoder untuk menghasilkan gambar dari latents.
Pipeline untuk generasi gambar-ke-gambar menggunakan Kandinsky
Model ini mewarisi dari DiffusionPipeline. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua pipeline (seperti mengunduh atau menyimpan, menjalankan pada perangkat tertentu, dll.)
__call__
< source >( image_embeds: typing.Union[torch.Tensor, list[torch.Tensor]]image: typing.Union[torch.Tensor, list[torch.Tensor], PIL.Image.Image, list[PIL.Image.Image]]negative_image_embeds: typing.Union[torch.Tensor, list[torch.Tensor]]height: int = 512width: int = 512num_inference_steps: int = 100guidance_scale: float = 4.0strength: float = 0.3num_images_per_prompt: int = 1generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Noneoutput_type: str | None = 'pil'return_dict: bool = Truecallback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = Nonecallback_on_step_end_tensor_inputs: list[str] = ['latents']**kwargs ) → ImagePipelineOutput or tuple
Parameter
- image_embeds (
torch.Tensorataulist[torch.Tensor]) — Embedding gambar clip untuk prompt teks, yang akan digunakan untuk mengondisikan generasi gambar. - image (
torch.Tensor,PIL.Image.Image,np.ndarray,list[torch.Tensor],list[PIL.Image.Image], ataulist[np.ndarray]) —Image, atau tensor yang mewakili batch gambar, yang akan digunakan sebagai titik awal untuk proses. Dapat juga menerima latents gambar sebagaiimage; jika latents diteruskan secara langsung, latents tersebut tidak akan di-encode lagi. - strength (
float, opsional, default 0.8) — Secara konseptual, menunjukkan seberapa besar transformasi yang diterapkan padaimagereferensi. Nilainya harus berada di antara 0 dan 1.imageakan digunakan sebagai titik awal, dengan semakin banyak noise yang ditambahkan seiring dengan semakin besarnya nilaistrength. Jumlah langkah denoising bergantung pada jumlah noise yang awalnya ditambahkan. Ketikastrengthbernilai 1, noise yang ditambahkan akan maksimal dan proses denoising akan berjalan untuk jumlah iterasi penuh yang ditentukan dalamnum_inference_steps. Dengan demikian, nilai 1 pada dasarnya mengabaikanimage. - negative_image_embeds (
torch.Tensorataulist[torch.Tensor]) — Embedding gambar clip untuk prompt teks negatif, akan digunakan untuk mengondisikan generasi gambar. - height (
int, opsional, default 512) — Tinggi gambar yang dihasilkan dalam piksel. - width (
int, opsional, default 512) — Lebar gambar yang dihasilkan dalam piksel. - num_inference_steps (
int, opsional, default 100) — Jumlah langkah denoising. Semakin banyak langkah denoising, biasanya menghasilkan gambar dengan kualitas lebih tinggi, namun dengan biaya inferensi yang lebih lambat. - guidance_scale (
float, opsional, default 4.0) — Skala panduan seperti yang didefinisikan dalam Classifier-Free Diffusion Guidance.guidance_scaledidefinisikan sebagaiwdari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengaturguidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait denganpromptteks, biasanya dengan mengorbankan kualitas gambar yang lebih rendah. - num_images_per_prompt (
int, opsional, default 1) — Jumlah gambar yang akan dihasilkan per prompt. - generator (
torch.Generatorataulist[torch.Generator], opsional) — Satu atau daftar generator torch untuk membuat proses generasi menjadi deterministik. - output_type (
str, opsional, default"pil") — Format output dari generate image. Pilih antara:"pil"(PIL.Image.Image),"np"(np.array) atau"pt"(torch.Tensor). - return_dict (
bool, opsional, defaultnyaTrue) — Apakah akan mengembalikan ImagePipelineOutput alih-alih tuple biasa. - callback_on_step_end (
Callable, opsional) — Fungsi yang dipanggil di akhir setiap langkah denoising selama inferensi. Fungsi ini dipanggil dengan argumen berikut:callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict).callback_kwargsakan berisi daftar semua tensor sesuai yang ditentukan olehcallback_on_step_end_tensor_inputs. - callback_on_step_end_tensor_inputs (
list, opsional) — Daftar input tensor untuk fungsicallback_on_step_end. Tensor yang ditentukan dalam daftar akan diteruskan sebagai argumencallback_kwargs. Anda hanya dapat menyertakan variabel yang tercantum dalam atribut._callback_tensor_inputsdari kelas pipeline Anda.
Mengembalikan
ImagePipelineOutput atau tuple
Fungsi yang dipanggil saat memanggil pipeline untuk generasi.
Contoh:
KandinskyV22Img2ImgCombinedPipeline
kelas diffusers.KandinskyV22Img2ImgCombinedPipeline
< source >( unet: UNet2DConditionModelscheduler: DDPMSchedulermovq: VQModelprior_prior: PriorTransformerprior_image_encoder: CLIPVisionModelWithProjectionprior_text_encoder: CLIPTextModelWithProjectionprior_tokenizer: CLIPTokenizerprior_scheduler: UnCLIPSchedulerprior_image_processor: CLIPImageProcessorPil )
Parameter
- scheduler (
DDIMScheduler|DDPMScheduler) — Scheduler yang digunakan bersamaunetuntuk menghasilkan latens gambar. - unet (UNet2DConditionModel) — Arsitektur U-Net bersyarat untuk mendenoising embedding gambar.
- movq (VQModel) — MoVQ Decoder untuk menghasilkan gambar dari latents.
- prior_prior (PriorTransformer) — prior unCLIP kanonik untuk mengaproksimasi embedding gambar dari embedding teks.
- prior_image_encoder (
CLIPVisionModelWithProjection) — Image-encoder yang dibekukan. - prior_text_encoder (
CLIPTextModelWithProjection) — Text-encoder yang dibekukan. - prior_tokenizer (
CLIPTokenizer) — Tokenizer dari kelas CLIPTokenizer. - prior_scheduler (
UnCLIPScheduler) — Scheduler yang digunakan bersamaprioruntuk menghasilkan embedding gambar. - prior_image_processor (
CLIPImageProcessor) — image_processor yang digunakan untuk memproses prapenanganan gambar dari clip.
Pipeline Gabungan untuk generasi gambar-ke-gambar menggunakan Kandinsky
Model ini mewarisi dari DiffusionPipeline. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua pipeline (seperti mengunduh atau menyimpan, menjalankan pada perangkat tertentu, dll.)
__call__
< source >( prompt: str | list[str]image: typing.Union[torch.Tensor, list[torch.Tensor], PIL.Image.Image, list[PIL.Image.Image]]negative_prompt: str | list[str] | None = Nonenum_inference_steps: int = 100guidance_scale: float = 4.0strength: float = 0.3num_images_per_prompt: int = 1height: int = 512width: int = 512prior_guidance_scale: float = 4.0prior_num_inference_steps: int = 25generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Noneoutput_type: str | None = 'pil'callback: typing.Optional[typing.Callable[[int, int, torch.Tensor], NoneType]] = Nonecallback_steps: int = 1return_dict: bool = Trueprior_callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = Noneprior_callback_on_step_end_tensor_inputs: list[str] = ['latents']callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = Nonecallback_on_step_end_tensor_inputs: list[str] = ['latents'] ) → ImagePipelineOutput or tuple
Parameter
- prompt (
strataulist[str]) — Prompt atau kumpulan prompt untuk mengarahkan generasi gambar. - image (
torch.Tensor,PIL.Image.Image,np.ndarray,list[torch.Tensor],list[PIL.Image.Image], ataulist[np.ndarray]) —Image, atau tensor yang mewakili batch gambar, yang akan digunakan sebagai titik awal untuk proses. Dapat juga menerima latents gambar sebagaiimage; jika latents diteruskan secara langsung, latents tersebut tidak akan di-encode lagi. - negative_prompt (
strataulist[str], opsional) — Prompt atau prompt-prompt yang tidak digunakan untuk mengarahkan generasi gambar. Diabaikan ketika tidak menggunakan guidance (yaitu, diabaikan jikaguidance_scalekurang dari1). - num_images_per_prompt (
int, opsional, default 1) — Jumlah gambar yang akan dihasilkan per prompt. - guidance_scale (
float, opsional, default 4.0) — Skala panduan seperti yang didefinisikan dalam Classifier-Free Diffusion Guidance.guidance_scaledidefinisikan sebagaiwdari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengaturguidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait denganpromptteks, biasanya dengan mengorbankan kualitas gambar yang lebih rendah. - strength (
float, opsional, default 0.3) — Secara konseptual, menunjukkan seberapa besar transformasi yang diterapkan padaimagereferensi. Nilainya harus berada di antara 0 dan 1.imageakan digunakan sebagai titik awal, dengan semakin banyak noise yang ditambahkan seiring dengan semakin besarnya nilaistrength. Jumlah langkah denoising bergantung pada jumlah noise yang awalnya ditambahkan. Ketikastrengthbernilai 1, noise yang ditambahkan akan maksimal dan proses denoising akan berjalan untuk jumlah iterasi penuh yang ditentukan dalamnum_inference_steps. Dengan demikian, nilai 1 pada dasarnya mengabaikanimage. - num_inference_steps (
int, opsional, default 100) — Jumlah langkah denoising. Semakin banyak langkah denoising, biasanya menghasilkan gambar dengan kualitas lebih tinggi, namun dengan biaya inferensi yang lebih lambat. - height (
int, opsional, default 512) — Tinggi gambar yang dihasilkan dalam piksel. - width (
int, opsional, default 512) — Lebar gambar yang dihasilkan dalam piksel. - prior_guidance_scale (
float, opsional, default 4.0) — Skala panduan seperti yang didefinisikan dalam Classifier-Free Diffusion Guidance.guidance_scaledidefinisikan sebagaiwdari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengaturguidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait denganpromptteks, biasanya dengan mengorbankan kualitas gambar yang lebih rendah. - prior_num_inference_steps (
int, opsional, default 100) — Jumlah langkah denoising. Semakin banyak langkah denoising, biasanya menghasilkan gambar dengan kualitas lebih tinggi, namun dengan biaya inferensi yang lebih lambat. - generator (
torch.Generatorataulist[torch.Generator], opsional) — Satu atau daftar generator torch untuk membuat proses generasi menjadi deterministik. - latents (
torch.Tensor, opsional) — Latents berisik yang telah dibuat sebelumnya, diambil dari distribusi Gaussian, untuk digunakan sebagai input untuk generasi gambar. Dapat digunakan untuk menyesuaikan generasi yang sama dengan prompt yang berbeda. Jika tidak disediakan, tensor latents akan dibuat dengan pengambilan sampel menggunakangeneratoracak yang diberikan. - output_type (
str, opsional, default"pil") — Format output dari generate image. Pilih antara:"pil"(PIL.Image.Image),"np"(np.array) atau"pt"(torch.Tensor). - callback (
Callable, opsional) — Fungsi yang dipanggil setiapcallback_stepslangkah selama inferensi. Fungsi ini dipanggil dengan argumen berikut:callback(step: int, timestep: int, latents: torch.Tensor). - callback_steps (
int, opsional, default 1) — Frekuensi pemanggilan fungsicallback. Jika tidak ditentukan, callback dipanggil pada setiap langkah. - return_dict (
bool, opsional, defaultnyaTrue) — Apakah akan mengembalikan ImagePipelineOutput alih-alih tuple biasa. - prior_callback_on_step_end (
Callable, opsional) — Fungsi yang dipanggil di akhir setiap langkah denoising selama inferensi pipeline prior. Fungsi ini dipanggil dengan argumen berikut:prior_callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict). - prior_callback_on_step_end_tensor_inputs (
list, opsional) — Daftar input tensor untuk fungsiprior_callback_on_step_end. Tensor yang ditentukan dalam daftar akan diteruskan sebagai argumencallback_kwargs. Anda hanya dapat menyertakan variabel yang terdaftar dalam atribut._callback_tensor_inputsdari kelas pipeline prior Anda. - callback_on_step_end (
Callable, opsional) — Fungsi yang dipanggil di akhir setiap langkah denoising selama inferensi pipeline decoder. Fungsi ini dipanggil dengan argumen berikut:callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict).callback_kwargsakan berisi daftar semua tensor sebagaimana ditentukan olehcallback_on_step_end_tensor_inputs. - callback_on_step_end_tensor_inputs (
list, opsional) — Daftar input tensor untuk fungsicallback_on_step_end. Tensor yang ditentukan dalam daftar akan diteruskan sebagai argumencallback_kwargs. Anda hanya dapat menyertakan variabel yang tercantum dalam atribut._callback_tensor_inputsdari kelas pipeline Anda.
Mengembalikan
ImagePipelineOutput atau tuple
Fungsi yang dipanggil saat memanggil pipeline untuk generasi.
Contoh:
from diffusers import AutoPipelineForImage2Image
import torch
import requests
from io import BytesIO
from PIL import Image
import os
pipe = AutoPipelineForImage2Image.from_pretrained(
"kandinsky-community/kandinsky-2-2-decoder", torch_dtype=torch.float16
)
pipe.enable_model_cpu_offload()
prompt = "A fantasy landscape, Cinematic lighting"
negative_prompt = "low quality, bad quality"
url = "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/assets/stable-samples/img2img/sketch-mountains-input.jpg"
response = requests.get(url)
image = Image.open(BytesIO(response.content)).convert("RGB")
image.thumbnail((768, 768))
image = pipe(prompt=prompt, image=original_image, num_inference_steps=25).images[0]enable_model_cpu_offload
< source >( gpu_id: int | None = Nonedevice: typing.Union[torch.device, str] = None )
Membongkar semua model ke CPU menggunakan accelerate, mengurangi penggunaan memori dengan dampak kecil pada kinerja. Dibandingkan dengan enable_sequential_cpu_offload, metode ini memindahkan satu model utuh ke GPU pada saat metode forward dipanggil, dan model tetap berada di GPU hingga model berikutnya dijalankan. Penghematan memori lebih rendah dibandingkan dengan enable_sequential_cpu_offload, tetapi kinerjanya jauh lebih baik karena eksekusi iteratif dari unet.
enable_sequential_cpu_offload
< source >( gpu_id: int | None = Nonedevice: typing.Union[torch.device, str] = None )
Offloads all models to CPU using accelerate, secara signifikan mengurangi penggunaan memori. Saat dipanggil, unet,
text_encoder, vae dan safety checker menyimpan state dicts mereka ke CPU, kemudian dipindahkan ke torch.device('meta') and loaded to GPU only when their specific submodule has itsforwardmethod called. Note that offloading happens on a submodule basis. Memory savings are higher than withenable_model_cpu_offload`, but performance is lower.
KandinskyV22ControlnetImg2ImgPipeline
kelas diffusers.KandinskyV22ControlnetImg2ImgPipeline
< source >( unet: UNet2DConditionModelscheduler: DDPMSchedulermovq: VQModel )
Parameter
- scheduler (DDIMScheduler) —
Scheduler yang digunakan bersama
unetuntuk menghasilkan latens gambar. - unet (UNet2DConditionModel) — Arsitektur U-Net bersyarat untuk mendenoising embedding gambar.
- movq (VQModel) — MoVQ Decoder untuk menghasilkan gambar dari latents.
Pipeline untuk generasi gambar-ke-gambar menggunakan Kandinsky
Model ini mewarisi dari DiffusionPipeline. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua pipeline (seperti mengunduh atau menyimpan, menjalankan pada perangkat tertentu, dll.)
__call__
< source >( image_embeds: typing.Union[torch.Tensor, list[torch.Tensor]]image: typing.Union[torch.Tensor, list[torch.Tensor], PIL.Image.Image, list[PIL.Image.Image]]negative_image_embeds: typing.Union[torch.Tensor, list[torch.Tensor]]hint: Tensorheight: int = 512width: int = 512num_inference_steps: int = 100guidance_scale: float = 4.0strength: float = 0.3num_images_per_prompt: int = 1generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Noneoutput_type: str | None = 'pil'callback: typing.Optional[typing.Callable[[int, int, torch.Tensor], NoneType]] = Nonecallback_steps: int = 1return_dict: bool = True ) → ImagePipelineOutput or tuple
Parameter
- image_embeds (
torch.Tensorataulist[torch.Tensor]) — Embedding gambar clip untuk prompt teks, yang akan digunakan untuk mengondisikan generasi gambar. - image (
torch.Tensor,PIL.Image.Image,np.ndarray,list[torch.Tensor],list[PIL.Image.Image], ataulist[np.ndarray]) —Image, atau tensor yang mewakili batch gambar, yang akan digunakan sebagai titik awal untuk proses. Dapat juga menerima latents gambar sebagaiimage; jika latents diteruskan secara langsung, latents tersebut tidak akan di-encode lagi. - strength (
float, opsional, default 0.8) — Secara konseptual, menunjukkan seberapa besar transformasi yang diterapkan padaimagereferensi. Nilainya harus berada di antara 0 dan 1.imageakan digunakan sebagai titik awal, dengan semakin banyak noise yang ditambahkan seiring dengan semakin besarnya nilaistrength. Jumlah langkah denoising bergantung pada jumlah noise yang awalnya ditambahkan. Ketikastrengthbernilai 1, noise yang ditambahkan akan maksimal dan proses denoising akan berjalan untuk jumlah iterasi penuh yang ditentukan dalamnum_inference_steps. Dengan demikian, nilai 1 pada dasarnya mengabaikanimage. - hint (
torch.Tensor) — Kondisi controlnet. - negative_image_embeds (
torch.Tensorataulist[torch.Tensor]) — Embedding gambar clip untuk prompt teks negatif, akan digunakan untuk mengondisikan generasi gambar. - height (
int, opsional, default 512) — Tinggi gambar yang dihasilkan dalam piksel. - width (
int, opsional, default 512) — Lebar gambar yang dihasilkan dalam piksel. - num_inference_steps (
int, opsional, default 100) — Jumlah langkah denoising. Semakin banyak langkah denoising, biasanya menghasilkan gambar dengan kualitas lebih tinggi, namun dengan biaya inferensi yang lebih lambat. - guidance_scale (
float, opsional, default 4.0) — Skala panduan seperti yang didefinisikan dalam Classifier-Free Diffusion Guidance.guidance_scaledidefinisikan sebagaiwdari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengaturguidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait denganpromptteks, biasanya dengan mengorbankan kualitas gambar yang lebih rendah. - num_images_per_prompt (
int, opsional, default 1) — Jumlah gambar yang akan dihasilkan per prompt. - generator (
torch.Generatorataulist[torch.Generator], opsional) — Satu atau daftar generator torch untuk membuat proses generasi menjadi deterministik. - output_type (
str, opsional, default"pil") — Format output dari generate image. Pilih antara:"pil"(PIL.Image.Image),"np"(np.array) atau"pt"(torch.Tensor). - callback (
Callable, opsional) — Fungsi yang dipanggil setiapcallback_stepslangkah selama inferensi. Fungsi ini dipanggil dengan argumen berikut:callback(step: int, timestep: int, latents: torch.Tensor). - callback_steps (
int, opsional, default 1) — Frekuensi pemanggilan fungsicallback. Jika tidak ditentukan, callback dipanggil pada setiap langkah. - return_dict (
bool, opsional, defaultnyaTrue) — Apakah akan mengembalikan ImagePipelineOutput alih-alih tuple biasa.
Mengembalikan
ImagePipelineOutput atau tuple
Fungsi yang dipanggil saat memanggil pipeline untuk generasi.
Contoh:
KandinskyV22InpaintPipeline
kelas diffusers.KandinskyV22InpaintPipeline
< source >( unet: UNet2DConditionModelscheduler: DDPMSchedulermovq: VQModel )
Parameter
- scheduler (DDIMScheduler) —
Scheduler yang digunakan bersama
unetuntuk menghasilkan latens gambar. - unet (UNet2DConditionModel) — Arsitektur U-Net bersyarat untuk mendenoising embedding gambar.
- movq (VQModel) — MoVQ Decoder untuk menghasilkan gambar dari latents.
Pipeline untuk inpainting gambar yang dipandu teks menggunakan Kandinsky2.1
Model ini mewarisi dari DiffusionPipeline. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua pipeline (seperti mengunduh atau menyimpan, menjalankan pada perangkat tertentu, dll.)
__call__
< source >( image_embeds: typing.Union[torch.Tensor, list[torch.Tensor]]image: typing.Union[torch.Tensor, PIL.Image.Image]mask_image: typing.Union[PIL.Image.Image, torch.Tensor, numpy.ndarray]negative_image_embeds: typing.Union[torch.Tensor, list[torch.Tensor]]height: int = 512width: int = 512num_inference_steps: int = 100guidance_scale: float = 4.0num_images_per_prompt: int = 1generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Noneoutput_type: str | None = 'pil'return_dict: bool = Truecallback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = Nonecallback_on_step_end_tensor_inputs: list[str] = ['latents']**kwargs ) → ImagePipelineOutput or tuple
Parameter
- image_embeds (
torch.Tensorataulist[torch.Tensor]) — Embedding gambar clip untuk prompt teks, yang akan digunakan untuk mengondisikan generasi gambar. - image (
PIL.Image.Image) —Image, atau tensor yang mewakili batch gambar yang akan di-inpaint, artinya bagian-bagian dari gambar akan ditutupi denganmask_imagedan dilukis ulang sesuai denganprompt. - mask_image (
np.array) — Tensor yang mewakili batch gambar, untuk memberi mask padaimage. Piksel putih pada mask akan diwarnai ulang, sedangkan piksel hitam akan dipertahankan. Jikamask_imageadalah gambar PIL, gambar tersebut akan dikonversi menjadi satu saluran (luminance) sebelum digunakan. Jika berupa tensor, tensor tersebut harus berisi satu saluran warna (L) alih-alih 3, sehingga bentuk yang diharapkan adalah(B, H, W, 1). - negative_image_embeds (
torch.Tensorataulist[torch.Tensor]) — Embedding gambar clip untuk prompt teks negatif, akan digunakan untuk mengondisikan generasi gambar. - height (
int, opsional, default 512) — Tinggi gambar yang dihasilkan dalam piksel. - width (
int, opsional, default 512) — Lebar gambar yang dihasilkan dalam piksel. - num_inference_steps (
int, opsional, default 100) — Jumlah langkah denoising. Semakin banyak langkah denoising, biasanya menghasilkan gambar dengan kualitas lebih tinggi, namun dengan biaya inferensi yang lebih lambat. - guidance_scale (
float, opsional, default 4.0) — Skala panduan seperti yang didefinisikan dalam Classifier-Free Diffusion Guidance.guidance_scaledidefinisikan sebagaiwdari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengaturguidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait denganpromptteks, biasanya dengan mengorbankan kualitas gambar yang lebih rendah. - num_images_per_prompt (
int, opsional, default 1) — Jumlah gambar yang akan dihasilkan per prompt. - generator (
torch.Generatorataulist[torch.Generator], opsional) — Satu atau daftar generator torch untuk membuat proses generasi menjadi deterministik. - latents (
torch.Tensor, opsional) — Latents berisik yang telah dibuat sebelumnya, diambil dari distribusi Gaussian, untuk digunakan sebagai input untuk generasi gambar. Dapat digunakan untuk menyesuaikan generasi yang sama dengan prompt yang berbeda. Jika tidak disediakan, tensor latents akan dibuat dengan pengambilan sampel menggunakangeneratoracak yang diberikan. - output_type (
str, opsional, default"pil") — Format output dari generate image. Pilih antara:"pil"(PIL.Image.Image),"np"(np.array) atau"pt"(torch.Tensor). - return_dict (
bool, opsional, defaultnyaTrue) — Apakah akan mengembalikan ImagePipelineOutput alih-alih tuple biasa. - callback_on_step_end (
Callable, opsional) — Fungsi yang dipanggil di akhir setiap langkah denoising selama inferensi. Fungsi ini dipanggil dengan argumen berikut:callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict).callback_kwargsakan berisi daftar semua tensor sesuai yang ditentukan olehcallback_on_step_end_tensor_inputs. - callback_on_step_end_tensor_inputs (
list, opsional) — Daftar input tensor untuk fungsicallback_on_step_end. Tensor yang ditentukan dalam daftar akan diteruskan sebagai argumencallback_kwargs. Anda hanya dapat menyertakan variabel yang tercantum dalam atribut._callback_tensor_inputsdari kelas pipeline Anda.
Mengembalikan
ImagePipelineOutput atau tuple
Fungsi yang dipanggil saat memanggil pipeline untuk generasi.
Contoh:
KandinskyV22InpaintCombinedPipeline
kelas diffusers.KandinskyV22InpaintCombinedPipeline
< source >( unet: UNet2DConditionModelscheduler: DDPMSchedulermovq: VQModelprior_prior: PriorTransformerprior_image_encoder: CLIPVisionModelWithProjectionprior_text_encoder: CLIPTextModelWithProjectionprior_tokenizer: CLIPTokenizerprior_scheduler: UnCLIPSchedulerprior_image_processor: CLIPImageProcessorPil )
Parameter
- scheduler (
DDIMScheduler|DDPMScheduler) — Scheduler yang digunakan bersamaunetuntuk menghasilkan latens gambar. - unet (UNet2DConditionModel) — Arsitektur U-Net bersyarat untuk mendenoising embedding gambar.
- movq (VQModel) — MoVQ Decoder untuk menghasilkan gambar dari latents.
- prior_prior (PriorTransformer) — prior unCLIP kanonik untuk mengaproksimasi embedding gambar dari embedding teks.
- prior_image_encoder (
CLIPVisionModelWithProjection) — Image-encoder yang dibekukan. - prior_text_encoder (
CLIPTextModelWithProjection) — Text-encoder yang dibekukan. - prior_tokenizer (
CLIPTokenizer) — Tokenizer dari kelas CLIPTokenizer. - prior_scheduler (
UnCLIPScheduler) — Scheduler yang digunakan bersamaprioruntuk menghasilkan embedding gambar. - prior_image_processor (
CLIPImageProcessor) — image_processor yang digunakan untuk memproses prapenanganan gambar dari clip.
Pipeline Gabungan untuk generasi inpainting menggunakan Kandinsky
Model ini mewarisi dari DiffusionPipeline. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua pipeline (seperti mengunduh atau menyimpan, menjalankan pada perangkat tertentu, dll.)
__call__
< source >( prompt: str | list[str]image: typing.Union[torch.Tensor, list[torch.Tensor], PIL.Image.Image, list[PIL.Image.Image]]mask_image: typing.Union[torch.Tensor, list[torch.Tensor], PIL.Image.Image, list[PIL.Image.Image]]negative_prompt: str | list[str] | None = Nonenum_inference_steps: int = 100guidance_scale: float = 4.0num_images_per_prompt: int = 1height: int = 512width: int = 512prior_guidance_scale: float = 4.0prior_num_inference_steps: int = 25generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Noneoutput_type: str | None = 'pil'return_dict: bool = Trueprior_callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = Noneprior_callback_on_step_end_tensor_inputs: list[str] = ['latents']callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = Nonecallback_on_step_end_tensor_inputs: list[str] = ['latents']**kwargs ) → ImagePipelineOutput or tuple
Parameter
- prompt (
strataulist[str]) — Prompt atau kumpulan prompt untuk mengarahkan generasi gambar. - image (
torch.Tensor,PIL.Image.Image,np.ndarray,list[torch.Tensor],list[PIL.Image.Image], ataulist[np.ndarray]) —Image, atau tensor yang mewakili batch gambar, yang akan digunakan sebagai titik awal untuk proses. Dapat juga menerima latents gambar sebagaiimage; jika latents diteruskan secara langsung, latents tersebut tidak akan di-encode lagi. - mask_image (
np.array) — Tensor yang mewakili batch gambar, untuk memberi mask padaimage. Piksel putih pada mask akan diwarnai ulang, sedangkan piksel hitam akan dipertahankan. Jikamask_imageadalah gambar PIL, gambar tersebut akan dikonversi menjadi satu saluran (luminance) sebelum digunakan. Jika berupa tensor, tensor tersebut harus berisi satu saluran warna (L) alih-alih 3, sehingga bentuk yang diharapkan adalah(B, H, W, 1). - negative_prompt (
strataulist[str], opsional) — Prompt atau prompt-prompt yang tidak digunakan untuk mengarahkan generasi gambar. Diabaikan ketika tidak menggunakan guidance (yaitu, diabaikan jikaguidance_scalekurang dari1). - num_images_per_prompt (
int, opsional, default 1) — Jumlah gambar yang akan dihasilkan per prompt. - guidance_scale (
float, opsional, default 4.0) — Skala panduan seperti yang didefinisikan dalam Classifier-Free Diffusion Guidance.guidance_scaledidefinisikan sebagaiwdari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengaturguidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait denganpromptteks, biasanya dengan mengorbankan kualitas gambar yang lebih rendah. - num_inference_steps (
int, opsional, default 100) — Jumlah langkah denoising. Semakin banyak langkah denoising, biasanya menghasilkan gambar dengan kualitas lebih tinggi, namun dengan biaya inferensi yang lebih lambat. - height (
int, opsional, default 512) — Tinggi gambar yang dihasilkan dalam piksel. - width (
int, opsional, default 512) — Lebar gambar yang dihasilkan dalam piksel. - prior_guidance_scale (
float, opsional, default 4.0) — Skala panduan seperti yang didefinisikan dalam Classifier-Free Diffusion Guidance.guidance_scaledidefinisikan sebagaiwdari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengaturguidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait denganpromptteks, biasanya dengan mengorbankan kualitas gambar yang lebih rendah. - prior_num_inference_steps (
int, opsional, default 100) — Jumlah langkah denoising. Semakin banyak langkah denoising, biasanya menghasilkan gambar dengan kualitas lebih tinggi, namun dengan biaya inferensi yang lebih lambat. - generator (
torch.Generatorataulist[torch.Generator], opsional) — Satu atau daftar generator torch untuk membuat proses generasi menjadi deterministik. - latents (
torch.Tensor, opsional) — Latents berisik yang telah dibuat sebelumnya, diambil dari distribusi Gaussian, untuk digunakan sebagai input untuk generasi gambar. Dapat digunakan untuk menyesuaikan generasi yang sama dengan prompt yang berbeda. Jika tidak disediakan, tensor latents akan dibuat dengan pengambilan sampel menggunakangeneratoracak yang diberikan. - output_type (
str, opsional, default"pil") — Format output dari generate image. Pilih antara:"pil"(PIL.Image.Image),"np"(np.array) atau"pt"(torch.Tensor). - return_dict (
bool, opsional, defaultnyaTrue) — Apakah akan mengembalikan ImagePipelineOutput alih-alih tuple biasa. - prior_callback_on_step_end (
Callable, opsional) — Fungsi yang dipanggil di akhir setiap langkah denoising selama inferensi. Fungsi ini dipanggil dengan argumen berikut:prior_callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict). - prior_callback_on_step_end_tensor_inputs (
list, opsional) — Daftar input tensor untuk fungsiprior_callback_on_step_end. Tensor yang ditentukan dalam daftar akan diteruskan sebagai argumencallback_kwargs. Anda hanya dapat menyertakan variabel yang tercantum dalam atribut._callback_tensor_inputsdari kelas pipeline Anda. - callback_on_step_end (
Callable, opsional) — Fungsi yang dipanggil di akhir setiap langkah denoising selama inferensi. Fungsi ini dipanggil dengan argumen berikut:callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict).callback_kwargsakan berisi daftar semua tensor sesuai yang ditentukan olehcallback_on_step_end_tensor_inputs. - callback_on_step_end_tensor_inputs (
list, opsional) — Daftar input tensor untuk fungsicallback_on_step_end. Tensor yang ditentukan dalam daftar akan diteruskan sebagai argumencallback_kwargs. Anda hanya dapat menyertakan variabel yang tercantum dalam atribut._callback_tensor_inputsdari kelas pipeline Anda.
Mengembalikan
ImagePipelineOutput atau tuple
Fungsi yang dipanggil saat memanggil pipeline untuk generasi.
Contoh:
from diffusers import AutoPipelineForInpainting
from diffusers.utils import load_image
import torch
import numpy as np
pipe = AutoPipelineForInpainting.from_pretrained(
"kandinsky-community/kandinsky-2-2-decoder-inpaint", torch_dtype=torch.float16
)
pipe.enable_model_cpu_offload()
prompt = "A fantasy landscape, Cinematic lighting"
negative_prompt = "low quality, bad quality"
original_image = load_image(
"https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/kandinsky/cat.png"
)
mask = np.zeros((768, 768), dtype=np.float32)
# Let's mask out an area above the cat's head
mask[:250, 250:-250] = 1
image = pipe(prompt=prompt, image=original_image, mask_image=mask, num_inference_steps=25).images[0]enable_sequential_cpu_offload
< source >( gpu_id: int | None = Nonedevice: typing.Union[torch.device, str] = None )
Offloads all models to CPU using accelerate, secara signifikan mengurangi penggunaan memori. Saat dipanggil, unet,
text_encoder, vae dan safety checker menyimpan state dicts mereka ke CPU, kemudian dipindahkan ke torch.device('meta') and loaded to GPU only when their specific submodule has itsforwardmethod called. Note that offloading happens on a submodule basis. Memory savings are higher than withenable_model_cpu_offload`, but performance is lower.