Diffusers documentation

Kandinsky 2.2

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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

< >

( 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 bersama prior untuk 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__

< >

( 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 (str atau list[str]) — Prompt atau kumpulan prompt untuk mengarahkan generasi gambar.
  • negative_prompt (str atau list[str], opsional) — Prompt atau prompt-prompt yang tidak digunakan untuk mengarahkan generasi gambar. Diabaikan ketika tidak menggunakan guidance (yaitu, diabaikan jika guidance_scale kurang dari 1).
  • 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.Generator atau list[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 menggunakan generator acak yang diberikan.
  • guidance_scale (float, opsional, default 4.0) — Skala panduan seperti yang didefinisikan dalam Classifier-Free Diffusion Guidance. guidance_scale didefinisikan sebagai w dari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengatur guidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait dengan prompt teks, 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, defaultnya True) — 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_kwargs akan berisi daftar semua tensor sesuai yang ditentukan oleh callback_on_step_end_tensor_inputs.
  • callback_on_step_end_tensor_inputs (list, opsional) — Daftar input tensor untuk fungsi callback_on_step_end. Tensor yang ditentukan dalam daftar akan diteruskan sebagai argumen callback_kwargs. Anda hanya dapat menyertakan variabel yang tercantum dalam atribut ._callback_tensor_inputs dari 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

< >

( 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 di images_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.Generator atau list[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 menggunakan generator acak yang diberikan.
  • negative_prior_prompt (str, opsional) — Prompt yang tidak digunakan untuk memandu proses difusi prior. Diabaikan saat tidak menggunakan guidance (yaitu, diabaikan jika guidance_scale kurang dari 1).
  • negative_prompt (str atau list[str], opsional) — Prompt yang tidak digunakan untuk mengarahkan generasi gambar. Diabaikan saat tidak menggunakan guidance (yaitu, diabaikan jika guidance_scale kurang dari 1).
  • guidance_scale (float, opsional, default 4.0) — Skala panduan seperti yang didefinisikan dalam Classifier-Free Diffusion Guidance. guidance_scale didefinisikan sebagai w dari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengatur guidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait dengan prompt teks, 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

< >

( unet: UNet2DConditionModelscheduler: DDPMSchedulermovq: VQModel )

Parameter

  • scheduler (DDIMScheduler | DDPMScheduler) — Scheduler yang digunakan bersama unet untuk 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__

< >

( 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.Tensor atau list[torch.Tensor]) — Embedding gambar clip untuk prompt teks, yang akan digunakan untuk mengondisikan generasi gambar.
  • negative_image_embeds (torch.Tensor atau list[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_scale didefinisikan sebagai w dari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengatur guidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait dengan prompt teks, 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.Generator atau list[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 menggunakan generator acak 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, defaultnya True) — 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_kwargs akan berisi daftar semua tensor sesuai yang ditentukan oleh callback_on_step_end_tensor_inputs.
  • callback_on_step_end_tensor_inputs (list, opsional) — Daftar input tensor untuk fungsi callback_on_step_end. Tensor yang ditentukan dalam daftar akan diteruskan sebagai argumen callback_kwargs. Anda hanya dapat menyertakan variabel yang tercantum dalam atribut ._callback_tensor_inputs dari 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

< >

( 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 bersama unet untuk 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 bersama prior untuk 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__

< >

( 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 (str atau list[str]) — Prompt atau kumpulan prompt untuk mengarahkan generasi gambar.
  • negative_prompt (str atau list[str], opsional) — Prompt atau prompt-prompt yang tidak digunakan untuk mengarahkan generasi gambar. Diabaikan ketika tidak menggunakan guidance (yaitu, diabaikan jika guidance_scale kurang dari 1).
  • 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_scale didefinisikan sebagai w dari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengatur guidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait dengan prompt teks, 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_scale didefinisikan sebagai w dari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengatur guidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait dengan prompt teks, biasanya dengan mengorbankan kualitas gambar yang lebih rendah.
  • generator (torch.Generator atau list[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 menggunakan generator acak 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 setiap callback_steps langkah selama inferensi. Fungsi ini dipanggil dengan argumen berikut: callback(step: int, timestep: int, latents: torch.Tensor).
  • callback_steps (int, opsional, default 1) — Frekuensi pemanggilan fungsi callback. Jika tidak ditentukan, callback dipanggil pada setiap langkah.
  • return_dict (bool, opsional, defaultnya True) — 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 fungsi prior_callback_on_step_end. Tensor yang ditentukan dalam daftar akan diteruskan sebagai argumen callback_kwargs. Anda hanya dapat menyertakan variabel yang terdaftar dalam atribut ._callback_tensor_inputs dari 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_kwargs akan berisi daftar semua tensor sebagaimana ditentukan oleh callback_on_step_end_tensor_inputs.
  • callback_on_step_end_tensor_inputs (list, opsional) — Daftar input tensor untuk fungsi callback_on_step_end. Tensor yang ditentukan dalam daftar akan diteruskan sebagai argumen callback_kwargs. Anda hanya dapat menyertakan variabel yang tercantum dalam atribut ._callback_tensor_inputs dari 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

< >

( 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

< >

( unet: UNet2DConditionModelscheduler: DDPMSchedulermovq: VQModel )

Parameter

  • scheduler (DDIMScheduler) — Scheduler yang digunakan bersama unet untuk 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__

< >

( 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.Tensor atau list[torch.Tensor]) — Embedding gambar clip untuk prompt teks, yang akan digunakan untuk mengondisikan generasi gambar.
  • negative_image_embeds (torch.Tensor atau list[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_scale didefinisikan sebagai w dari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengatur guidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait dengan prompt teks, 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.Generator atau list[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 menggunakan generator acak 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 setiap callback_steps langkah selama inferensi. Fungsi ini dipanggil dengan argumen berikut: callback(step: int, timestep: int, latents: torch.Tensor).
  • callback_steps (int, opsional, default 1) — Frekuensi pemanggilan fungsi callback. Jika tidak ditentukan, callback dipanggil pada setiap langkah.
  • return_dict (bool, opsional, defaultnya True) — 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

< >

( 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 bersama prior untuk 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__

< >

( 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 (str atau list[str]) — Prompt atau kumpulan prompt untuk mengarahkan generasi gambar.
  • image (torch.Tensor, PIL.Image.Image, list[torch.Tensor] atau list[PIL.Image.Image]) — Image, atau tensor yang mewakili batch gambar, yang akan digunakan sebagai titik awal untuk embedding gambar. Dapat juga menerima latents gambar sebagai image; 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 pada image referensi. Nilainya harus berada di antara 0 dan 1. image akan digunakan sebagai titik awal, dengan semakin banyak noise yang ditambahkan seiring dengan semakin besarnya nilai strength. Jumlah langkah denoising bergantung pada jumlah noise yang awalnya ditambahkan.
  • negative_prompt (str atau list[str], opsional) — Prompt atau prompt-prompt yang tidak digunakan untuk mengarahkan generasi gambar. Diabaikan ketika tidak menggunakan guidance (yaitu, diabaikan jika guidance_scale kurang dari 1).
  • 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.Generator atau list[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_scale didefinisikan sebagai w dari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengatur guidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait dengan prompt teks, 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, defaultnya True) — 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

< >

( 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 di images_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.Generator atau list[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 menggunakan generator acak yang diberikan.
  • negative_prior_prompt (str, opsional) — Prompt yang tidak digunakan untuk memandu proses difusi prior. Diabaikan saat tidak menggunakan guidance (yaitu, diabaikan jika guidance_scale kurang dari 1).
  • negative_prompt (str atau list[str], opsional) — Prompt yang tidak digunakan untuk mengarahkan generasi gambar. Diabaikan saat tidak menggunakan guidance (yaitu, diabaikan jika guidance_scale kurang dari 1).
  • guidance_scale (float, opsional, default 4.0) — Skala panduan seperti yang didefinisikan dalam Classifier-Free Diffusion Guidance. guidance_scale didefinisikan sebagai w dari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengatur guidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait dengan prompt teks, 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

< >

( unet: UNet2DConditionModelscheduler: DDPMSchedulermovq: VQModel )

Parameter

  • scheduler (DDIMScheduler) — Scheduler yang digunakan bersama unet untuk 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__

< >

( 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.Tensor atau list[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], atau list[np.ndarray]) — Image, atau tensor yang mewakili batch gambar, yang akan digunakan sebagai titik awal untuk proses. Dapat juga menerima latents gambar sebagai image; 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 pada image referensi. Nilainya harus berada di antara 0 dan 1. image akan digunakan sebagai titik awal, dengan semakin banyak noise yang ditambahkan seiring dengan semakin besarnya nilai strength. Jumlah langkah denoising bergantung pada jumlah noise yang awalnya ditambahkan. Ketika strength bernilai 1, noise yang ditambahkan akan maksimal dan proses denoising akan berjalan untuk jumlah iterasi penuh yang ditentukan dalam num_inference_steps. Dengan demikian, nilai 1 pada dasarnya mengabaikan image.
  • negative_image_embeds (torch.Tensor atau list[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_scale didefinisikan sebagai w dari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengatur guidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait dengan prompt teks, 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.Generator atau list[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, defaultnya True) — 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_kwargs akan berisi daftar semua tensor sesuai yang ditentukan oleh callback_on_step_end_tensor_inputs.
  • callback_on_step_end_tensor_inputs (list, opsional) — Daftar input tensor untuk fungsi callback_on_step_end. Tensor yang ditentukan dalam daftar akan diteruskan sebagai argumen callback_kwargs. Anda hanya dapat menyertakan variabel yang tercantum dalam atribut ._callback_tensor_inputs dari kelas pipeline Anda.

Mengembalikan

ImagePipelineOutput atau tuple

Fungsi yang dipanggil saat memanggil pipeline untuk generasi.

Contoh:

KandinskyV22Img2ImgCombinedPipeline

kelas diffusers.KandinskyV22Img2ImgCombinedPipeline

< >

( 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 bersama unet untuk 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 bersama prior untuk 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__

< >

( 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 (str atau list[str]) — Prompt atau kumpulan prompt untuk mengarahkan generasi gambar.
  • image (torch.Tensor, PIL.Image.Image, np.ndarray, list[torch.Tensor], list[PIL.Image.Image], atau list[np.ndarray]) — Image, atau tensor yang mewakili batch gambar, yang akan digunakan sebagai titik awal untuk proses. Dapat juga menerima latents gambar sebagai image; jika latents diteruskan secara langsung, latents tersebut tidak akan di-encode lagi.
  • negative_prompt (str atau list[str], opsional) — Prompt atau prompt-prompt yang tidak digunakan untuk mengarahkan generasi gambar. Diabaikan ketika tidak menggunakan guidance (yaitu, diabaikan jika guidance_scale kurang dari 1).
  • 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_scale didefinisikan sebagai w dari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengatur guidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait dengan prompt teks, biasanya dengan mengorbankan kualitas gambar yang lebih rendah.
  • strength (float, opsional, default 0.3) — Secara konseptual, menunjukkan seberapa besar transformasi yang diterapkan pada image referensi. Nilainya harus berada di antara 0 dan 1. image akan digunakan sebagai titik awal, dengan semakin banyak noise yang ditambahkan seiring dengan semakin besarnya nilai strength. Jumlah langkah denoising bergantung pada jumlah noise yang awalnya ditambahkan. Ketika strength bernilai 1, noise yang ditambahkan akan maksimal dan proses denoising akan berjalan untuk jumlah iterasi penuh yang ditentukan dalam num_inference_steps. Dengan demikian, nilai 1 pada dasarnya mengabaikan image.
  • 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_scale didefinisikan sebagai w dari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengatur guidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait dengan prompt teks, 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.Generator atau list[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 menggunakan generator acak 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 setiap callback_steps langkah selama inferensi. Fungsi ini dipanggil dengan argumen berikut: callback(step: int, timestep: int, latents: torch.Tensor).
  • callback_steps (int, opsional, default 1) — Frekuensi pemanggilan fungsi callback. Jika tidak ditentukan, callback dipanggil pada setiap langkah.
  • return_dict (bool, opsional, defaultnya True) — 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 fungsi prior_callback_on_step_end. Tensor yang ditentukan dalam daftar akan diteruskan sebagai argumen callback_kwargs. Anda hanya dapat menyertakan variabel yang terdaftar dalam atribut ._callback_tensor_inputs dari 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_kwargs akan berisi daftar semua tensor sebagaimana ditentukan oleh callback_on_step_end_tensor_inputs.
  • callback_on_step_end_tensor_inputs (list, opsional) — Daftar input tensor untuk fungsi callback_on_step_end. Tensor yang ditentukan dalam daftar akan diteruskan sebagai argumen callback_kwargs. Anda hanya dapat menyertakan variabel yang tercantum dalam atribut ._callback_tensor_inputs dari 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

< >

( 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

< >

( 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

< >

( unet: UNet2DConditionModelscheduler: DDPMSchedulermovq: VQModel )

Parameter

  • scheduler (DDIMScheduler) — Scheduler yang digunakan bersama unet untuk 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__

< >

( 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.Tensor atau list[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], atau list[np.ndarray]) — Image, atau tensor yang mewakili batch gambar, yang akan digunakan sebagai titik awal untuk proses. Dapat juga menerima latents gambar sebagai image; 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 pada image referensi. Nilainya harus berada di antara 0 dan 1. image akan digunakan sebagai titik awal, dengan semakin banyak noise yang ditambahkan seiring dengan semakin besarnya nilai strength. Jumlah langkah denoising bergantung pada jumlah noise yang awalnya ditambahkan. Ketika strength bernilai 1, noise yang ditambahkan akan maksimal dan proses denoising akan berjalan untuk jumlah iterasi penuh yang ditentukan dalam num_inference_steps. Dengan demikian, nilai 1 pada dasarnya mengabaikan image.
  • hint (torch.Tensor) — Kondisi controlnet.
  • negative_image_embeds (torch.Tensor atau list[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_scale didefinisikan sebagai w dari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengatur guidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait dengan prompt teks, 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.Generator atau list[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 setiap callback_steps langkah selama inferensi. Fungsi ini dipanggil dengan argumen berikut: callback(step: int, timestep: int, latents: torch.Tensor).
  • callback_steps (int, opsional, default 1) — Frekuensi pemanggilan fungsi callback. Jika tidak ditentukan, callback dipanggil pada setiap langkah.
  • return_dict (bool, opsional, defaultnya True) — 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

< >

( unet: UNet2DConditionModelscheduler: DDPMSchedulermovq: VQModel )

Parameter

  • scheduler (DDIMScheduler) — Scheduler yang digunakan bersama unet untuk 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__

< >

( 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.Tensor atau list[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 dengan mask_image dan dilukis ulang sesuai dengan prompt.
  • mask_image (np.array) — Tensor yang mewakili batch gambar, untuk memberi mask pada image. Piksel putih pada mask akan diwarnai ulang, sedangkan piksel hitam akan dipertahankan. Jika mask_image adalah 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.Tensor atau list[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_scale didefinisikan sebagai w dari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengatur guidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait dengan prompt teks, 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.Generator atau list[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 menggunakan generator acak 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, defaultnya True) — 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_kwargs akan berisi daftar semua tensor sesuai yang ditentukan oleh callback_on_step_end_tensor_inputs.
  • callback_on_step_end_tensor_inputs (list, opsional) — Daftar input tensor untuk fungsi callback_on_step_end. Tensor yang ditentukan dalam daftar akan diteruskan sebagai argumen callback_kwargs. Anda hanya dapat menyertakan variabel yang tercantum dalam atribut ._callback_tensor_inputs dari kelas pipeline Anda.

Mengembalikan

ImagePipelineOutput atau tuple

Fungsi yang dipanggil saat memanggil pipeline untuk generasi.

Contoh:

KandinskyV22InpaintCombinedPipeline

kelas diffusers.KandinskyV22InpaintCombinedPipeline

< >

( 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 bersama unet untuk 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 bersama prior untuk 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__

< >

( 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 (str atau list[str]) — Prompt atau kumpulan prompt untuk mengarahkan generasi gambar.
  • image (torch.Tensor, PIL.Image.Image, np.ndarray, list[torch.Tensor], list[PIL.Image.Image], atau list[np.ndarray]) — Image, atau tensor yang mewakili batch gambar, yang akan digunakan sebagai titik awal untuk proses. Dapat juga menerima latents gambar sebagai image; jika latents diteruskan secara langsung, latents tersebut tidak akan di-encode lagi.
  • mask_image (np.array) — Tensor yang mewakili batch gambar, untuk memberi mask pada image. Piksel putih pada mask akan diwarnai ulang, sedangkan piksel hitam akan dipertahankan. Jika mask_image adalah 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 (str atau list[str], opsional) — Prompt atau prompt-prompt yang tidak digunakan untuk mengarahkan generasi gambar. Diabaikan ketika tidak menggunakan guidance (yaitu, diabaikan jika guidance_scale kurang dari 1).
  • 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_scale didefinisikan sebagai w dari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengatur guidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait dengan prompt teks, 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_scale didefinisikan sebagai w dari persamaan 2. dari Imagen Paper. Skala panduan diaktifkan dengan mengatur guidance_scale > 1. Skala panduan yang lebih tinggi mendorong generasi gambar yang sangat terkait dengan prompt teks, 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.Generator atau list[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 menggunakan generator acak 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, defaultnya True) — 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 fungsi prior_callback_on_step_end. Tensor yang ditentukan dalam daftar akan diteruskan sebagai argumen callback_kwargs. Anda hanya dapat menyertakan variabel yang tercantum dalam atribut ._callback_tensor_inputs dari 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_kwargs akan berisi daftar semua tensor sesuai yang ditentukan oleh callback_on_step_end_tensor_inputs.
  • callback_on_step_end_tensor_inputs (list, opsional) — Daftar input tensor untuk fungsi callback_on_step_end. Tensor yang ditentukan dalam daftar akan diteruskan sebagai argumen callback_kwargs. Anda hanya dapat menyertakan variabel yang tercantum dalam atribut ._callback_tensor_inputs dari 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

< >

( 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.

Update on GitHub