Diffusers documentation
Procesador de imágenes VAE
Procesador de imágenes VAE
El VaeImageProcessor proporciona una API unificada para los StableDiffusionPipeline con el fin de preparar las entradas de imagen para la codificación con VAE y realizar el posprocesado de las salidas una vez que se han decodificado. Esto incluye transformaciones como el redimensionado, la normalización y la conversión entre imágenes PIL, PyTorch y matrices NumPy.
Todos los pipelines con VaeImageProcessor aceptan imágenes PIL, tensores de PyTorch o matrices de NumPy como entradas de imagen y devuelven salidas basadas en el argumento output_type del usuario. Puede pasar latentes de imagen codificados directamente al pipeline y obtener latentes del pipeline como una salida específica con el argumento output_type (por ejemplo, output_type="latent"). Esto le permite tomar los latentes generados de un pipeline y pasarlos a otro pipeline como entrada sin salir del espacio latente. También facilita mucho el uso de varios pipelines juntos al pasar tensores de PyTorch directamente entre diferentes pipelines.
VaeImageProcessor
clase diffusers.VaeImageProcessor
< source >( 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 )
Parámetros
- do_resize (
bool, opcional, valor predeterminadoTrue) — Indica si se deben reducir las dimensiones (altura, ancho) de la imagen a múltiplos devae_scale_factor. Puede aceptar los argumentosheightywidthdel método image_processor.VaeImageProcessor.preprocess(). - vae_scale_factor (
int, opcional, valor predeterminado8) — Factor de escala del VAE. Sido_resizeesTrue, la imagen se redimensiona automáticamente a múltiplos de este factor. - resample (
str, opcional, valor predeterminadolanczos) — Filtro de remuestreo que se utilizará al redimensionar la imagen. - do_normalize (
bool, opcional, valor predeterminadoTrue) — Si se debe normalizar la imagen a [-1,1]. - do_binarize (
bool, opcional, valor predeterminadoFalse) — Si se debe binarizar la imagen a 0/1. - do_convert_rgb (
bool, opcional, por defectoFalse) — Si se deben convertir las imágenes al formato RGB. - do_convert_grayscale (
bool, opcional, valor predeterminadoFalse) — Si se deben convertir las imágenes al formato de escala de grises.
Procesador de imágenes para VAE.
apply_overlay
< source >( mask: Imageinit_image: Imageimage: Imagecrop_coords: tuple[int, int, int, int] | None = None ) → PIL.Image.Image
Parámetros
- mask (
PIL.Image.Image) — La imagen de máscara que resalta las regiones a superponer. - init_image (
PIL.Image.Image) — La imagen original a la que se aplica la superposición. - image (
PIL.Image.Image) — La imagen que se superpondrá sobre la original. - crop_coords (
tuple[int, int, int, int], opcional) — Coordenadas para recortar la imagen. Si se proporcionan, la imagen se recortará en consecuencia.
Devuelve
PIL.Image.Image
La imagen final con la superposición aplicada.
Aplica una superposición de la máscara y la imagen reparada sobre la imagen original.
binarize
< source >( image: Image ) → PIL.Image.Image
Crea una máscara.
desenfoque
< source >( image: Imageblur_factor: int = 4 ) → PIL.Image.Image
Aplica un desenfoque gaussiano a una imagen.
convert_to_grayscale
< source >( image: Image ) → PIL.Image.Image
Convierte una imagen PIL dada a escala de grises.
convert_to_rgb
< source >( image: Image ) → PIL.Image.Image
Convierte una imagen PIL al formato RGB.
denormalizar
< source >( images: typing.Union[numpy.ndarray, torch.Tensor] ) → np.ndarray or torch.Tensor
Denormalizar un array de imagen a [0,1].
get_crop_region
< source >( mask_image: Imagewidth: intheight: intpad = 0 ) → tuple
Parámetros
- mask_image (PIL.Image.Image) — Imagen de máscara.
- width (int) — Ancho de la imagen que se va a procesar.
- height (int) — Altura de la imagen a procesar.
- pad (int, opcional) — Relleno que se añadirá a la región de recorte. El valor predeterminado es 0.
Devuelve
tuple
(x1, y1, x2, y2) representa una región rectangular que contiene todas las áreas enmascaradas de una imagen y coincide con la relación de aspecto original.
Encuentra una región rectangular que contenga todas las áreas enmascaradas de una imagen y expande la región para que coincida con la relación de aspecto de la imagen original; por ejemplo, si el usuario dibujó la máscara en una región de 128x32 y las dimensiones para el procesamiento son 512x512, la región se expandirá a 128x128.
get_default_height_width
< source >( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor]height: int | None = Nonewidth: int | None = None ) → tuple[int, int]
Parámetros
- image (
PIL.Image.Image | np.ndarray | torch.Tensor) — La entrada de imagen, que puede ser una imagen PIL, un array de NumPy o un tensor de PyTorch. Si es un array de NumPy, su forma debe ser[batch, height, width]o[batch, height, width, channels]. Si es un tensor de PyTorch, su forma debe ser[batch, channels, height, width]. - height (
int | None, opcional, valor predeterminadoNone) — La altura de la imagen preprocesada. Si esNone, se utilizará la altura de la entradaimage. - width (
int | None, opcional, valor predeterminadoNone) — El ancho de la imagen preprocesada. Si esNone, se utilizará el ancho de la entradaimage.
Devuelve
tuple[int, int]
Una tupla que contiene la altura y el ancho, ambos redimensionados al múltiplo entero más cercano de
vae_scale_factor.
Devuelve la altura y el ancho de la imagen, reducidos al siguiente múltiplo entero de vae_scale_factor.
normalize
< source >( images: typing.Union[numpy.ndarray, torch.Tensor] ) → np.ndarray or torch.Tensor
Normalizar un array de imagen a [-1,1].
numpy_to_pil
< source >( images: ndarray ) → list[PIL.Image.Image]
Convierte una imagen de numpy o un lote de imágenes en una imagen de PIL.
numpy_to_pt
< source >( images: ndarray ) → torch.Tensor
Convierte una imagen de NumPy en un tensor de PyTorch.
pil_to_numpy
< source >( images: list[PIL.Image.Image] | PIL.Image.Image ) → np.ndarray
Convierte una imagen PIL o una lista de imágenes PIL en matrices NumPy.
postprocess
< source >( image: Tensoroutput_type: str = 'pil'do_denormalize: list[bool] | None = None ) → PIL.Image.Image, np.ndarray or torch.Tensor
Parámetros
- image (
torch.Tensor) — La entrada de imagen, debe ser un tensor de PyTorch con formaB x C x H x W. - output_type (
str, opcional, valor predeterminadopil) — El tipo de salida de la imagen, puede ser uno depil,np,pt,latent. - do_denormalize (
list[bool], opcional, valor predeterminadoNone) — Si se debe denormalizar la imagen a [0,1]. Si esNone, se usará el valor dedo_normalizeen la configuración deVaeImageProcessor.
Devuelve
PIL.Image.Image, np.ndarray o torch.Tensor
La imagen procesada.
Postprocesa la imagen de salida de tensor a output_type.
preprocesar
< source >( 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
Parámetros
- image (
PipelineImageInput) — La entrada de imagen, los formatos aceptados son imágenes PIL, matrices NumPy, tensores de PyTorch; también se acepta una lista de formatos admitidos. - height (
int, opcional) — La altura en la imagen preprocesada. Si esNone, se usaráget_default_height_width()para obtener la altura predeterminada. - width (
int, opcional) — El ancho en preprocesado. Si esNone, se usará get_default_height_width()` para obtener el ancho predeterminado. - resize_mode (
str, opcional, valor predeterminadodefault) — El modo de redimensionado, puede serdefaultofill. Si esdefault, se redimensionará la imagen para que quepa dentro del ancho y alto especificados, y es posible que no se mantenga la relación de aspecto original. Si esfill, se redimensionará la imagen para que quepa dentro del ancho y alto especificados, manteniendo la relación de aspecto, y luego se centrará la imagen dentro de las dimensiones, rellenando los espacios vacíos con datos de la imagen. Si escrop, se redimensionará la imagen para que quepa dentro del ancho y alto especificados, manteniendo la relación de aspecto, y luego se centrará la imagen dentro de las dimensiones, recortando el exceso. Tenga en cuenta que resize_modefillycropsolo se admiten para entradas de imagen PIL. - crops_coords (
list[tuple[int, int, int, int]], opcional, valor predeterminadoNone) — Las coordenadas de recorte para cada imagen del lote. Si esNone, no se recortará la imagen.
Devuelve
torch.Tensor
La imagen preprocesada.
Preprocesa la entrada de imagen.
pt_to_numpy
< source >( images: Tensor ) → np.ndarray
Convierte un tensor de PyTorch en una imagen de NumPy.
resize
< source >( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor]height: intwidth: intresize_mode: str = 'default' ) → PIL.Image.Image, np.ndarray or torch.Tensor
Parámetros
- image (
PIL.Image.Image,np.ndarrayotorch.Tensor) — La imagen de entrada, puede ser una imagen PIL, un array de numpy o un tensor de pytorch. - height (
int) — La altura a la que se debe redimensionar. - width (
int) — El ancho al que se debe redimensionar. - resize_mode (
str, opcional, valor predeterminadodefault) — El modo de redimensionado a utilizar, puede serdefaultofill. Si esdefault, se redimensionará la imagen para que quepa dentro del ancho y alto especificados, y es posible que no se mantenga la relación de aspecto original. Si esfill, se redimensionará la imagen para que quepa dentro del ancho y alto especificados, manteniendo la relación de aspecto, y luego se centrará la imagen dentro de las dimensiones, rellenando los espacios vacíos con datos de la imagen. Si escrop, se redimensionará la imagen para que quepa dentro del ancho y alto especificados, manteniendo la relación de aspecto, y luego se centrará la imagen dentro de las dimensiones, recortando el exceso. Tenga en cuenta que resize_modefillycropsolo se admiten para entradas de imagen PIL.
Devuelve
PIL.Image.Image, np.ndarray o torch.Tensor
La imagen redimensionada.
Redimensionar imagen.
InpaintProcessor
El InpaintProcessor acepta las entradas mask y image y las procesa juntas. Opcionalmente, puede aceptar padding_mask_crop y aplicar una superposición de máscara.
clase diffusers.InpaintProcessor
< source >( 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 )
Procesador de imágenes para inpainting de imagen y máscara.
postprocess
< source >( 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 )
Postprocesa la imagen y aplica opcionalmente una superposición de máscara
preprocesar
< source >( image: Imagemask: PIL.Image.Image | None = Noneheight: int | None = Nonewidth: int | None = Nonepadding_mask_crop: int | None = None )
Preprocesa la imagen y la máscara.
VaeImageProcessorLDM3D
El VaeImageProcessorLDM3D acepta entradas RGB y de profundidad y devuelve salidas RGB y de profundidad.
clase diffusers.VaeImageProcessorLDM3D
< source >( do_resize: bool = Truevae_scale_factor: int = 8resample: str = 'lanczos'do_normalize: bool = True )
Parámetros
- do_resize (
bool, opcional, valor predeterminadoTrue) — Si se debe reducir las dimensiones (altura, ancho) de la imagen a múltiplos devae_scale_factor. - vae_scale_factor (
int, opcional, valor predeterminado8) — Factor de escala del VAE. Sido_resizeesTrue, la imagen se redimensiona automáticamente a múltiplos de este factor. - resample (
str, opcional, valor predeterminadolanczos) — Filtro de remuestreo que se utilizará al redimensionar la imagen. - do_normalize (
bool, opcional, valor predeterminadoTrue) — Si se debe normalizar la imagen a [-1,1].
Procesador de imágenes para VAE LDM3D.
depth_pil_to_numpy
< source >( images: list[PIL.Image.Image] | PIL.Image.Image ) → np.ndarray
Convierte una imagen PIL o una lista de imágenes PIL en matrices NumPy.
numpy_to_depth
< source >( images: ndarray ) → list[PIL.Image.Image]
Convierte una imagen de profundidad de NumPy o un lote de imágenes en una lista de imágenes PIL.
numpy_to_pil
< source >( images: ndarray ) → list[PIL.Image.Image]
Convierte una imagen de NumPy o un lote de imágenes en una lista de imágenes PIL.
preprocesar
< source >( 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]
Parámetros
- rgb (
torch.Tensor | PIL.Image.Image | np.ndarray) — La imagen de entrada RGB, que puede ser una sola imagen o un lote. - depth (
torch.Tensor | PIL.Image.Image | np.ndarray) — La imagen de profundidad de entrada, que puede ser una sola imagen o un lote. - height (
int | None, opcional, valor predeterminadoNone) — La altura deseada de la imagen procesada. Si esNone, el valor predeterminado es la altura de la imagen de entrada. - width (
int | None, opcional, valor predeterminadoNone) — El ancho deseado de la imagen procesada. Si esNone, el valor predeterminado es el ancho de la imagen de entrada. - target_res (
int | None, opcional, valor predeterminadoNone) — Resolución objetivo para redimensionar las imágenes. Si se especifica, tiene prioridad sobre la altura y el ancho.
Devuelve
tuple[torch.Tensor, torch.Tensor]
Una tupla que contiene las imágenes RGB y de profundidad procesadas como tensores de PyTorch.
Preprocesa la entrada de imagen. Los formatos aceptados son imágenes PIL, matrices NumPy o tensores de PyTorch.
Convierte una imagen de profundidad similar a RGB en un mapa de profundidad.
PixArtImageProcessor
clase diffusers.PixArtImageProcessor
< source >( do_resize: bool = Truevae_scale_factor: int = 8resample: str = 'lanczos'do_normalize: bool = Truedo_binarize: bool = Falsedo_convert_grayscale: bool = False )
Parámetros
- do_resize (
bool, opcional, valor predeterminadoTrue) — Indica si se deben reducir las dimensiones (altura, ancho) de la imagen a múltiplos devae_scale_factor. Puede aceptar los argumentosheightywidthdel método image_processor.VaeImageProcessor.preprocess(). - vae_scale_factor (
int, opcional, valor predeterminado8) — Factor de escala del VAE. Sido_resizeesTrue, la imagen se redimensiona automáticamente a múltiplos de este factor. - resample (
str, opcional, valor predeterminadolanczos) — Filtro de remuestreo que se utilizará al redimensionar la imagen. - do_normalize (
bool, opcional, valor predeterminadoTrue) — Si se debe normalizar la imagen a [-1,1]. - do_binarize (
bool, opcional, valor predeterminadoFalse) — Si se debe binarizar la imagen a 0/1. - do_convert_rgb (
bool, opcional, por defectoFalse) — Si se deben convertir las imágenes al formato RGB. - do_convert_grayscale (
bool, opcional, valor predeterminadoFalse) — Si se deben convertir las imágenes al formato de escala de grises.
Procesador de imágenes para redimensionar y recortar imágenes de PixArt.
classify_height_width_bin
< source >( height: intwidth: intratios: dict ) → tuple[int, int]
Devuelve la altura y el ancho binados en función de la relación de aspecto.
resize_and_crop_tensor
< source >( samples: Tensornew_width: intnew_height: int ) → torch.Tensor
Parámetros
- samples (
torch.Tensor) — Un tensor de forma (N, C, H, W) donde N es el tamaño del lote, C es el número de canales, H es la altura y W es el ancho. - new_width (
int) — El ancho deseado de las imágenes de salida. - new_height (
int) — La altura deseada de las imágenes de salida.
Devuelve
torch.Tensor
Un tensor que contiene las imágenes redimensionadas y recortadas.
Redimensiona y recorta un tensor de imágenes a las dimensiones especificadas.
IPAdapterMaskProcessor
clase diffusers.IPAdapterMaskProcessor
< source >( do_resize: bool = Truevae_scale_factor: int = 8resample: str = 'lanczos'do_normalize: bool = Falsedo_binarize: bool = Truedo_convert_grayscale: bool = True )
Parámetros
- do_resize (
bool, opcional, valor predeterminadoTrue) — Si se debe reducir las dimensiones (altura, ancho) de la imagen a múltiplos devae_scale_factor. - vae_scale_factor (
int, opcional, valor predeterminado8) — Factor de escala del VAE. Sido_resizeesTrue, la imagen se redimensiona automáticamente a múltiplos de este factor. - resample (
str, opcional, valor predeterminadolanczos) — Filtro de remuestreo que se utilizará al redimensionar la imagen. - do_normalize (
bool, opcional, valor predeterminadoFalse) — Si se debe normalizar la imagen a [-1,1]. - do_binarize (
bool, opcional, valor predeterminadoTrue) — Si se debe binarizar la imagen a 0/1. - do_convert_grayscale (
bool, opcional, valor predeterminadoTrue) — Si se convierten las imágenes al formato de escala de grises.
Procesador de imágenes para máscaras de imagen de IP Adapter.
downsample
< source >( mask: Tensorbatch_size: intnum_queries: intvalue_embed_dim: int ) → torch.Tensor
Parámetros
- mask (
torch.Tensor) — El tensor de máscara de entrada generado conIPAdapterMaskProcessor.preprocess(). - batch_size (
int) — El tamaño del lote. - num_queries (
int) — El número de consultas. - value_embed_dim (
int) — La dimensionalidad de las incrustaciones de valor.
Devuelve
torch.Tensor
El tensor de máscara con muestreo descendente.
Realiza el downsampling del tensor de máscara proporcionado para que coincida con las dimensiones esperadas para la atención de producto punto escalado. Si la relación de aspecto de la máscara no coincide con la relación de aspecto de la imagen de salida, se emite una advertencia.