Diffusers documentation

Pemroses Gambar VAE

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Pemroses Gambar VAE

VaeImageProcessor menyediakan API terpadu bagi StableDiffusionPipeline untuk menyiapkan input gambar untuk encoding VAE dan memproses output pasca-decoding. Ini mencakup transformasi seperti pengubahan ukuran, normalisasi, dan konversi antara PIL Image, PyTorch, dan array NumPy.

Semua pipeline dengan VaeImageProcessor menerima PIL Image, tensor PyTorch, atau array NumPy sebagai input gambar dan mengembalikan output berdasarkan argumen output_type dari pengguna. Anda dapat meneruskan latens gambar yang sudah dienkod secara langsung ke pipeline dan mengembalikan latens dari pipeline sebagai output tertentu dengan argumen output_type (misalnya output_type="latent"). Hal ini memungkinkan Anda mengambil latens yang dihasilkan dari satu pipeline dan meneruskannya ke pipeline lain sebagai input tanpa keluar dari ruang latens. Ini juga membuat penggunaan beberapa pipeline bersama menjadi jauh lebih mudah dengan meneruskan tensor PyTorch secara langsung antar pipeline yang berbeda.

VaeImageProcessor

kelas diffusers.VaeImageProcessor

< >

( do_resize: bool = Truevae_scale_factor: int = 8vae_latent_channels: int = 4resample: str = 'lanczos'reducing_gap: int | None = Nonedo_normalize: bool = Truedo_binarize: bool = Falsedo_convert_rgb: bool = Falsedo_convert_grayscale: bool = False )

Parameter

  • do_resize (bool, opsional, default True) — Apakah akan menurunkan dimensi (height, width) gambar menjadi kelipatan dari vae_scale_factor. Dapat menerima argumen height dan width dari metode image_processor.VaeImageProcessor.preprocess().
  • vae_scale_factor (int, opsional, default 8) — Faktor skala VAE. Jika do_resize adalah True, gambar akan di-resize secara otomatis menjadi kelipatan dari faktor ini.
  • resample (str, opsional, default lanczos) — Filter resampling yang digunakan saat mengubah ukuran gambar.
  • do_normalize (bool, opsional, default True) — Apakah akan menormalisasi gambar ke [-1,1].
  • do_binarize (bool, opsional, default False) — Apakah akan mbinarize gambar menjadi 0/1.
  • do_convert_rgb (bool, opsional, defaultnya False) — Apakah akan mengonversi gambar ke format RGB.
  • do_convert_grayscale (bool, opsional, defaultnya False) — Apakah akan mengonversi gambar ke format grayscale.

Pemroses gambar untuk VAE.

apply_overlay

< >

( mask: Imageinit_image: Imageimage: Imagecrop_coords: tuple[int, int, int, int] | None = None ) → PIL.Image.Image

Parameter

  • mask (PIL.Image.Image) — Gambar mask yang menyoroti area untuk di-overlay.
  • init_image (PIL.Image.Image) — Gambar asli tempat overlay diterapkan.
  • image (PIL.Image.Image) — Gambar yang akan ditumpangkan ke gambar asli.
  • crop_coords (tuple[int, int, int, int], opsional) — Koordinat untuk memotong gambar. Jika diberikan, gambar akan dipotong sesuai koordinat tersebut.

Mengembalikan

PIL.Image.Image

Gambar akhir dengan overlay yang diterapkan.

Menerapkan overlay dari mask dan gambar inpainted pada gambar asli.

binarize

< >

( image: Image ) → PIL.Image.Image

Parameter

  • image (PIL.Image.Image) — Input gambar, harus berupa gambar PIL.

Mengembalikan

PIL.Image.Image

Gambar yang telah dibiarkan. Nilai kurang dari 0.5 diatur menjadi 0, nilai lebih dari 0.5 diatur menjadi 1.

Buat sebuah mask.

blur

< >

( image: Imageblur_factor: int = 4 ) → PIL.Image.Image

Parameter

  • image (PIL.Image.Image) — Gambar PIL yang akan dikonversi menjadi grayscale.

Mengembalikan

PIL.Image.Image

Gambar PIL yang telah dikonversi menjadi skala abu-abu.

Menerapkan Gaussian blur pada gambar.

convert_to_grayscale

< >

( image: Image ) → PIL.Image.Image

Parameter

  • image (PIL.Image.Image) — Gambar input untuk dikonversi.

Mengembalikan

PIL.Image.Image

Gambar yang dikonversi menjadi skala abu-abu.

Mengonversi gambar PIL yang diberikan menjadi grayscale.

convert_to_rgb

< >

( image: Image ) → PIL.Image.Image

Parameter

  • image (PIL.Image.Image) — Gambar PIL yang akan dikonversi ke RGB.

Mengembalikan

PIL.Image.Image

Gambar PIL yang telah dikonversi ke RGB.

Mengonversi gambar PIL ke format RGB.

denormalize

< >

( images: typing.Union[numpy.ndarray, torch.Tensor] ) → np.ndarray or torch.Tensor

Parameter

  • images (np.ndarray atau torch.Tensor) — Array gambar untuk dinormalisasi ulang.

Mengembalikan

np.ndarray atau torch.Tensor

Array gambar yang dinormalisasi.

Denormalisasi array gambar ke [0,1].

get_crop_region

< >

( mask_image: Imagewidth: intheight: intpad = 0 ) → tuple

Parameter

  • mask_image (PIL.Image.Image) — Gambar mask.
  • width (int) — Lebar gambar yang akan diproses.
  • height (int) — Tinggi gambar yang akan diproses.
  • pad (int, opsional) — Padding yang akan ditambahkan ke area crop. Defaultnya 0.

Mengembalikan

tuple

(x1, y1, x2, y2) merepresentasikan area persegi panjang yang berisi semua area ter-mask pada sebuah gambar dan sesuai dengan rasio aspek asli.

Menemukan area persegi panjang yang berisi semua area yang dimasker dalam sebuah gambar, dan memperluas area tersebut agar sesuai dengan rasio aspek gambar asli; misalnya, jika pengguna menggambar mask pada area 128x32, dan dimensi untuk pemrosesan adalah 512x512, area tersebut akan diperluas menjadi 128x128.

get_default_height_width

< >

( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor]height: int | None = Nonewidth: int | None = None ) → tuple[int, int]

Parameter

  • image (PIL.Image.Image | np.ndarray | torch.Tensor) — Input gambar, yang dapat berupa gambar PIL, array NumPy, atau tensor PyTorch. Jika berupa array NumPy, bentuknya harus [batch, height, width] atau [batch, height, width, channels]. Jika berupa tensor PyTorch, bentuknya harus [batch, channels, height, width].
  • height (int | None, opsional, default None) — Tinggi gambar yang telah dipreprocess. Jika None, tinggi dari input image akan digunakan.
  • width (int | None, opsional, default None) — Lebar dari gambar yang telah dipreprocess. Jika None, lebar dari input image akan digunakan.

Mengembalikan

tuple[int, int]

Tuple yang berisi tinggi dan lebar, keduanya di-resize ke kelipatan bilangan bulat terdekat dari vae_scale_factor.

Mengembalikan tinggi dan lebar gambar, yang diskalakan ke bawah menjadi kelipatan bilangan bulat terdekat dari vae_scale_factor.

normalize

< >

( images: typing.Union[numpy.ndarray, torch.Tensor] ) → np.ndarray or torch.Tensor

Parameter

  • images (np.ndarray atau torch.Tensor) — Array gambar yang akan dinormalisasi.

Mengembalikan

np.ndarray atau torch.Tensor

Array gambar ternormalisasi.

Normalisasi array gambar ke [-1,1].

numpy_to_pil

< >

( images: ndarray ) → list[PIL.Image.Image]

Parameter

  • images (np.ndarray) — Array gambar untuk dikonversi ke format PIL.

Mengembalikan

list[PIL.Image.Image]

Daftar gambar PIL.

Mengonversi gambar numpy atau batch gambar menjadi gambar PIL.

numpy_to_pt

< >

( images: ndarray ) → torch.Tensor

Parameter

  • images (np.ndarray) — Array gambar NumPy yang akan dikonversi ke format PyTorch.

Mengembalikan

torch.Tensor

Representasi tensor PyTorch dari gambar-gambar tersebut.

Mengonversi gambar NumPy menjadi tensor PyTorch.

pil_to_numpy

< >

( images: list[PIL.Image.Image] | PIL.Image.Image ) → np.ndarray

Parameter

  • images (PIL.Image.Image atau list[PIL.Image.Image]) — Gambar PIL atau daftar gambar yang akan dikonversi ke format NumPy.

Mengembalikan

np.ndarray

Representasi array NumPy dari gambar-gambar tersebut.

Mengonversi gambar PIL atau daftar gambar PIL menjadi array NumPy.

postprocess

< >

( image: Tensoroutput_type: str = 'pil'do_denormalize: list[bool] | None = None ) → PIL.Image.Image, np.ndarray or torch.Tensor

Parameter

  • image (torch.Tensor) — Input gambar, harus berupa tensor pytorch dengan bentuk B x C x H x W.
  • output_type (str, opsional, defaultnya pil) — Jenis output gambar, dapat berupa salah satu dari pil, np, pt, latent.
  • do_denormalize (list[bool], opsional, default None) — Apakah akan menormalisasi ulang gambar ke [0,1]. Jika None, akan menggunakan nilai do_normalize dalam konfigurasi VaeImageProcessor.

Mengembalikan

PIL.Image.Image, np.ndarray atau torch.Tensor

Gambar yang telah diproses pascaproses.

Proses pascaproses output gambar dari tensor ke output_type.

praproses

< >

( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]height: int | None = Nonewidth: int | None = Noneresize_mode: str = 'default'crops_coords: tuple[int, int, int, int] | None = None ) → torch.Tensor

Parameter

  • image (PipelineImageInput) — Input gambar, format yang diterima adalah gambar PIL, array NumPy, tensor PyTorch; juga menerima daftar format yang didukung.
  • height (int, opsional) — Tinggi pada gambar yang telah dipreprocess. Jika None, akan menggunakan get_default_height_width() untuk mendapatkan tinggi default.
  • width (int, opsional) — Lebar dalam preprocessed. Jika None, akan menggunakan get_default_height_width()` untuk mendapatkan lebar default.
  • resize_mode (str, opsional, defaultnya default) — Mode resize, dapat berupa default atau fill. Jika default, gambar akan di-resize agar muat di dalam lebar dan tinggi yang ditentukan, dan rasio aspek asli mungkin tidak dipertahankan. Jika fill, gambar akan di-resize agar muat di dalam lebar dan tinggi yang ditentukan, mempertahankan rasio aspek, dan kemudian mengpusatkan gambar di dalam dimensi tersebut, mengisi bagian kosong dengan data dari gambar. Jika crop, gambar akan di-resize agar muat di dalam lebar dan tinggi yang ditentukan, mempertahankan rasio aspek, dan kemudian mengpusatkan gambar di dalam dimensi tersebut, memotong bagian yang berlebih. Perhatikan bahwa resize_mode fill dan crop hanya didukung untuk input gambar PIL.
  • crops_coords (list[tuple[int, int, int, int]], opsional, defaultnya None) — Koordinat crop untuk setiap gambar dalam batch. Jika None, gambar tidak akan di-crop.

Mengembalikan

torch.Tensor

Gambar yang telah dipreprocess.

Praproses input gambar.

pt_to_numpy

< >

( images: Tensor ) → np.ndarray

Parameter

  • images (torch.Tensor) — Tensor PyTorch yang akan dikonversi ke format NumPy.

Mengembalikan

np.ndarray

Representasi array NumPy dari gambar-gambar tersebut.

Mengonversi tensor PyTorch menjadi gambar NumPy.

resize

< >

( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor]height: intwidth: intresize_mode: str = 'default' ) → PIL.Image.Image, np.ndarray or torch.Tensor

Parameter

  • image (PIL.Image.Image, np.ndarray atau torch.Tensor) — Input gambar, dapat berupa gambar PIL, array numpy, atau tensor pytorch.
  • height (int) — Tinggi untuk mengubah ukuran.
  • width (int) — Lebar untuk mengubah ukuran.
  • resize_mode (str, opsional, defaultnya default) — Mode resize yang akan digunakan, dapat berupa default atau fill. Jika default, gambar akan di-resize agar muat di dalam lebar dan tinggi yang ditentukan, dan rasio aspek asli mungkin tidak dipertahankan. Jika fill, gambar akan di-resize agar muat di dalam lebar dan tinggi yang ditentukan, dengan mempertahankan rasio aspek, lalu gambar diposisikan di tengah dimensi tersebut, mengisi area kosong dengan data dari gambar. Jika crop, gambar akan di-resize agar muat di dalam lebar dan tinggi yang ditentukan, dengan mempertahankan rasio aspek, lalu gambar diposisikan di tengah dimensi tersebut, memotong bagian yang berlebih. Perhatikan bahwa resize_mode fill dan crop hanya didukung untuk input gambar PIL.

Mengembalikan

PIL.Image.Image, np.ndarray atau torch.Tensor

Gambar yang telah diubah ukurannya.

Ukurkan ulang gambar.

InpaintProcessor

InpaintProcessor menerima input mask dan image lalu memproses keduanya secara bersama. Secara opsional, ia dapat menerima padding_mask_crop dan menerapkan overlay mask.

kelas diffusers.InpaintProcessor

< >

( do_resize: bool = Truevae_scale_factor: int = 8vae_latent_channels: int = 4resample: str = 'lanczos'reducing_gap: int | None = Nonedo_normalize: bool = Truedo_binarize: bool = Falsedo_convert_grayscale: bool = Falsemask_do_normalize: bool = Falsemask_do_binarize: bool = Truemask_do_convert_grayscale: bool = True )

Pemroses gambar untuk inpainting gambar dan mask.

postprocess

< >

( image: Tensoroutput_type: str = 'pil'original_image: PIL.Image.Image | None = Noneoriginal_mask: PIL.Image.Image | None = Nonecrops_coords: tuple[int, int, int, int] | None = None )

Proses pascaproses gambar, terapkan overlay mask secara opsional

praproses

< >

( image: Imagemask: PIL.Image.Image | None = Noneheight: int | None = Nonewidth: int | None = Nonepadding_mask_crop: int | None = None )

Praproses gambar dan mask.

VaeImageProcessorLDM3D

VaeImageProcessorLDM3D menerima input RGB dan kedalaman serta mengembalikan output RGB dan kedalaman.

kelas diffusers.VaeImageProcessorLDM3D

< >

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

Parameter

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

Pemroses gambar untuk VAE LDM3D.

depth_pil_to_numpy

< >

( images: list[PIL.Image.Image] | PIL.Image.Image ) → np.ndarray

Parameter

  • images (list[PIL.Image.Image, PIL.Image.Image]) — Gambar input atau daftar gambar yang akan dikonversi.

Mengembalikan

np.ndarray

Array NumPy dari gambar yang telah dikonversi.

Mengonversi gambar PIL atau daftar gambar PIL menjadi array NumPy.

numpy_to_depth

< >

( images: ndarray ) → list[PIL.Image.Image]

Parameter

  • images (np.ndarray) — Array NumPy input dari gambar kedalaman, yang dapat berupa satu gambar atau batch.

Mengembalikan

list[PIL.Image.Image]

Daftar gambar PIL yang dikonversi dari gambar kedalaman NumPy input.

Mengonversi gambar kedalaman NumPy atau kumpulan gambar menjadi daftar gambar PIL.

numpy_to_pil

< >

( images: ndarray ) → list[PIL.Image.Image]

Parameter

  • images (np.ndarray) — Array NumPy input berisi gambar, yang dapat berupa satu gambar atau batch.

Mengembalikan

list[PIL.Image.Image]

Daftar gambar PIL yang dikonversi dari array NumPy input.

Mengonversi gambar NumPy atau batch gambar menjadi daftar gambar PIL.

praproses

< >

( rgb: typing.Union[torch.Tensor, PIL.Image.Image, numpy.ndarray]depth: typing.Union[torch.Tensor, PIL.Image.Image, numpy.ndarray]height: int | None = Nonewidth: int | None = Nonetarget_res: int | None = None ) → tuple[torch.Tensor, torch.Tensor]

Parameter

  • rgb (torch.Tensor | PIL.Image.Image | np.ndarray) — Gambar input RGB, yang dapat berupa satu gambar atau batch.
  • depth (torch.Tensor | PIL.Image.Image | np.ndarray) — Gambar input kedalaman, yang dapat berupa satu gambar atau batch.
  • height (int | None, opsional, default None) — Tinggi yang diinginkan untuk gambar yang diproses. Jika None, defaultnya adalah tinggi gambar input.
  • width (int | None, opsional, default None) — Lebar yang diinginkan untuk gambar yang diproses. Jika None, defaultnya adalah lebar gambar input.
  • target_res (int | None, opsional, defaultnya None) — Resolusi target untuk mengubah ukuran gambar. Jika ditentukan, menimpa height dan width.

Mengembalikan

tuple[torch.Tensor, torch.Tensor]

Tuple yang berisi gambar RGB dan kedalaman yang telah diproses sebagai tensor PyTorch.

Praproses input gambar. Format yang diterima adalah gambar PIL, array NumPy, atau tensor PyTorch.

rgblike_to_depthmap

< >

( image: typing.Union[numpy.ndarray, torch.Tensor] )

Mengonversi gambar kedalaman mirip RGB menjadi peta kedalaman.

PixArtImageProcessor

kelas diffusers.PixArtImageProcessor

< >

( do_resize: bool = Truevae_scale_factor: int = 8resample: str = 'lanczos'do_normalize: bool = Truedo_binarize: bool = Falsedo_convert_grayscale: bool = False )

Parameter

  • do_resize (bool, opsional, default True) — Apakah akan menurunkan dimensi (height, width) gambar menjadi kelipatan dari vae_scale_factor. Dapat menerima argumen height dan width dari metode image_processor.VaeImageProcessor.preprocess().
  • vae_scale_factor (int, opsional, default 8) — Faktor skala VAE. Jika do_resize adalah True, gambar akan di-resize secara otomatis menjadi kelipatan dari faktor ini.
  • resample (str, opsional, default lanczos) — Filter resampling yang digunakan saat mengubah ukuran gambar.
  • do_normalize (bool, opsional, default True) — Apakah akan menormalisasi gambar ke [-1,1].
  • do_binarize (bool, opsional, default False) — Apakah akan mbinarize gambar menjadi 0/1.
  • do_convert_rgb (bool, opsional, defaultnya False) — Apakah akan mengonversi gambar ke format RGB.
  • do_convert_grayscale (bool, opsional, defaultnya False) — Apakah akan mengonversi gambar ke format grayscale.

Pemroses gambar untuk pengubahan ukuran dan pemotongan gambar PixArt.

classify_height_width_bin

< >

( height: intwidth: intratios: dict ) → tuple[int, int]

Parameter

  • height (int) — Tinggi gambar.
  • width (int) — Lebar gambar.
  • ratios (dict) — Kamus di mana kuncinya adalah rasio aspek dan nilainya adalah tuple (tinggi, lebar).

Mengembalikan

tuple[int, int]

Tinggi dan lebar terbin terdekat.

Mengembalikan tinggi dan lebar yang telah dibin berdasarkan rasio aspek.

resize_and_crop_tensor

< >

( samples: Tensornew_width: intnew_height: int ) → torch.Tensor

Parameter

  • samples (torch.Tensor) — Tensor dengan bentuk (N, C, H, W) di mana N adalah ukuran batch, C adalah jumlah channel, H adalah tinggi, dan W adalah lebar.
  • new_width (int) — Lebar yang diinginkan untuk gambar keluaran.
  • new_height (int) — Tinggi yang diinginkan untuk gambar keluaran.

Mengembalikan

torch.Tensor

Tensor yang berisi gambar yang telah diubah ukurannya dan dipotong.

Mengubah ukuran dan memotong tensor gambar ke dimensi yang ditentukan.

IPAdapterMaskProcessor

kelas diffusers.IPAdapterMaskProcessor

< >

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

Parameter

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

Pemroses gambar untuk masker gambar IP Adapter.

downsample

< >

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

Parameter

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

Mengembalikan

torch.Tensor

Tensor mask yang telah di-downsample.

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

Update on GitHub