Diffusers documentation
IP-Adapter
IP-Adapter
IP-Adapter es un adaptador ligero que permite usar una imagen como prompt para un modelo de difusión. Este método desacopla las capas de atención cruzada de las características de imagen y texto. Las características de imagen se generan a partir de un codificador de imágenes.
Aprende a cargar y usar un punto de control y una imagen de IP-Adapter en la guía de IP-Adapter.
IPAdapterMixin
Mixin para gestionar IP Adapters.
load_ip_adapter
< source >( pretrained_model_name_or_path_or_dict: str | list[str] | dict[str, torch.Tensor]subfolder: str | list[str]weight_name: str | list[str]image_encoder_folder: str | None = 'image_encoder'**kwargs )
Parámetros
- pretrained_model_name_or_path_or_dict (
strolist[str]oos.PathLikeolist[os.PathLike]odictolist[dict]) — Puede ser:- Una cadena de texto, el model id (por ejemplo,
google/ddpm-celebahq-256) de un modelo preentrenado alojado en el Hub. - Una ruta a un directorio (por ejemplo,
./my_model_directory) que contiene los pesos del modelo guardados con ModelMixin.save_pretrained(). - Un diccionario de estado de torch.
- Una cadena de texto, el model id (por ejemplo,
- subfolder (
strolist[str]) — La ubicación de la subcarpeta de un archivo de modelo dentro de un repositorio de modelos más grande en el Hub o localmente. Si se pasa una lista, debe tener la misma longitud queweight_name. - weight_name (
strolist[str]) — El nombre del archivo de pesos a cargar. Si se pasa una lista, debe tener la misma longitud quesubfolder. - image_encoder_folder (
str, opcional, valor predeterminadoimage_encoder) — La ubicación de la subcarpeta del codificador de imágenes dentro de un repositorio de modelos más grande en el Hub o localmente. PaseNonepara no cargar el codificador de imágenes. Si el codificador de imágenes se encuentra en una carpeta dentro desubfolder, solo necesita pasar el nombre de la carpeta que contiene los pesos del codificador de imágenes, por ejemplo,image_encoder_folder="image_encoder". Si el codificador de imágenes se encuentra en una carpeta distinta desubfolder, debe pasar la ruta a la carpeta que contiene los pesos del codificador de imágenes, por ejemplo,image_encoder_folder="different_subfolder/image_encoder". - cache_dir (
str | os.PathLike, opcional) — Ruta a un directorio donde se almacena en caché la configuración de un modelo preentrenado descargado si no se utiliza la caché estándar. - force_download (
bool, opcional, valor predeterminadoFalse) — Indica si se debe forzar la (re)descarga de los pesos del modelo y los archivos de configuración, ignorando las versiones en caché si existen. - proxies (
dict[str, str], opcional) — Un diccionario de servidores proxy a utilizar por protocolo o punto de acceso, por ejemplo,{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Los proxies se utilizan en cada solicitud. - local_files_only (
bool, opcional, valor predeterminadoFalse) — Indica si se deben cargar únicamente los pesos y archivos de configuración del modelo locales. Si se establece enTrue, el modelo no se descargará desde el Hub. - token (
stro bool, opcional) — El token que se usará como autorización HTTP bearer para los archivos remotos. SiTrue, se utiliza el token generado desdediffusers-cli login(almacenado en~/.huggingface). - revision (
str, opcional, valor predeterminado"main") — La versión específica del modelo que se va a utilizar. Puede ser el nombre de una rama, el nombre de una etiqueta, un id de commit o cualquier identificador permitido por Git. - low_cpu_mem_usage (
bool, opcional, por defectoTruesi la versión de torch >= 1.9.0, en caso contrarioFalse) — Acelera la carga del modelo cargando solo los pesos preentrenados y sin inicializar los pesos. Esto también intenta no usar más de 1x el tamaño del modelo en memoria de CPU (incluida la memoria pico) durante la carga del modelo. Solo compatible con PyTorch >= 1.9.0. Si estás usando una versión anterior de PyTorch, establecer este argumento enTruegenerará un error.
Establece las escalas de IP-Adapter por bloque de transformador. La entrada scale puede ser una sola configuración o una lista de configuraciones para un control granular sobre el comportamiento de cada IP-Adapter. Una configuración puede ser un float o un diccionario.
Ejemplo:
# To use original IP-Adapter
scale = 1.0
pipeline.set_ip_adapter_scale(scale)
# To use style block only
scale = {
"up": {"block_0": [0.0, 1.0, 0.0]},
}
pipeline.set_ip_adapter_scale(scale)
# To use style+layout blocks
scale = {
"down": {"block_2": [0.0, 1.0]},
"up": {"block_0": [0.0, 1.0, 0.0]},
}
pipeline.set_ip_adapter_scale(scale)
# To use style and layout from 2 reference images
scales = [{"down": {"block_2": [0.0, 1.0]}}, {"up": {"block_0": [0.0, 1.0, 0.0]}}]
pipeline.set_ip_adapter_scale(scales)Descarga los pesos del IP Adapter
SD3IPAdapterMixin
Mixin para gestionar adaptadores IP de StableDiffusion 3.
is_ip_adapter_active
< source >( ) → bool
Devuelve
bool
Verdadero cuando IP-Adapter está cargado y alguna capa tiene scale > 0.
Comprueba si IP-Adapter está cargado y scale > 0.
La escala de IP-Adapter controla la influencia del prompt de imagen frente al prompt de texto. Cuando este valor se establece en 0, el contexto de la imagen es irrelevante.
load_ip_adapter
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]weight_name: str = 'ip-adapter.safetensors'subfolder: str | None = Noneimage_encoder_folder: str | None = 'image_encoder'**kwargs )
Parámetros
- pretrained_model_name_or_path_or_dict (
stroos.PathLikeodict) — Puede ser:- Una cadena de texto, el model id (por ejemplo,
google/ddpm-celebahq-256) de un modelo preentrenado alojado en el Hub. - Una ruta a un directorio (por ejemplo,
./my_model_directory) que contiene los pesos del modelo guardados con ModelMixin.save_pretrained(). - Un diccionario de estado de torch.
- Una cadena de texto, el model id (por ejemplo,
- weight_name (
str, por defecto “ip-adapter.safetensors”) — El nombre del archivo de pesos a cargar. Si se pasa una lista, debe tener la misma longitud quesubfolder. - subfolder (
str, opcional) — La ubicación de la subcarpeta de un archivo de modelo dentro de un repositorio de modelos más grande en el Hub o localmente. Si se pasa una lista, debe tener la misma longitud queweight_name. - image_encoder_folder (
str, opcional, valor predeterminadoimage_encoder) — La ubicación de la subcarpeta del codificador de imágenes dentro de un repositorio de modelos más grande en el Hub o localmente. PaseNonepara no cargar el codificador de imágenes. Si el codificador de imágenes se encuentra en una carpeta dentro desubfolder, solo necesita pasar el nombre de la carpeta que contiene los pesos del codificador de imágenes, por ejemplo,image_encoder_folder="image_encoder". Si el codificador de imágenes se encuentra en una carpeta distinta desubfolder, debe pasar la ruta a la carpeta que contiene los pesos del codificador de imágenes, por ejemplo,image_encoder_folder="different_subfolder/image_encoder". - cache_dir (
str | os.PathLike, opcional) — Ruta a un directorio donde se almacena en caché la configuración de un modelo preentrenado descargado si no se utiliza la caché estándar. - force_download (
bool, opcional, valor predeterminadoFalse) — Indica si se debe forzar la (re)descarga de los pesos del modelo y los archivos de configuración, ignorando las versiones en caché si existen. - proxies (
dict[str, str], opcional) — Un diccionario de servidores proxy a utilizar por protocolo o punto de acceso, por ejemplo,{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Los proxies se utilizan en cada solicitud. - local_files_only (
bool, opcional, valor predeterminadoFalse) — Indica si se deben cargar únicamente los pesos y archivos de configuración del modelo locales. Si se establece enTrue, el modelo no se descargará desde el Hub. - token (
stro bool, opcional) — El token que se usará como autorización HTTP bearer para los archivos remotos. SiTrue, se utiliza el token generado desdediffusers-cli login(almacenado en~/.huggingface). - revision (
str, opcional, valor predeterminado"main") — La versión específica del modelo que se va a utilizar. Puede ser el nombre de una rama, el nombre de una etiqueta, un id de commit o cualquier identificador permitido por Git. - low_cpu_mem_usage (
bool, opcional, por defectoTruesi la versión de torch >= 1.9.0, en caso contrarioFalse) — Acelera la carga del modelo cargando solo los pesos preentrenados y sin inicializar los pesos. Esto también intenta no usar más de 1x el tamaño del modelo en memoria de CPU (incluida la memoria pico) durante la carga del modelo. Solo compatible con PyTorch >= 1.9.0. Si estás usando una versión anterior de PyTorch, establecer este argumento enTruegenerará un error.
set_ip_adapter_scale
< source >( scale: float )
Establece la escala de IP-Adapter, que controla la condicionamiento del prompt de imagen. Un valor de 1.0 significa que el modelo se condiciona únicamente con el prompt de imagen, y 0.0 solo con el prompt de texto. Disminuir este valor anima al modelo a generar imágenes más diversas, aunque pueden no estar tan alineadas con el prompt de imagen.
Descarga los pesos del IP Adapter.
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.