Buckets:

mishig's picture
|
download
raw
14.6 kB

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[[diffusers.loaders.IPAdapterMixin]]

diffusers.loaders.IPAdapterMixin[[diffusers.loaders.IPAdapterMixin]]

diffusers.loaders.IPAdapterMixin()

Fuente

Mixin para gestionar IP Adapters.

load_ip_adapter[[diffusers.loaders.IPAdapterMixin.load_ip_adapter]]

load_ip_adapter(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)

Fuente

Parámetros:

pretrained_model_name_or_path_or_dict (str o list[str] o os.PathLike o list[os.PathLike] o dict o list[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 torch state dict.

subfolder (str o list[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 que weight_name.

weight_name (str o list[str]) : El nombre del archivo de pesos a cargar. Si se pasa una lista, debe tener la misma longitud que subfolder.

image_encoder_folder (str, opcional, por defecto image_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. Pasa None para no cargar el codificador de imágenes. Si el codificador de imágenes se encuentra en una carpeta dentro de subfolder, solo necesitas 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 de subfolder, debes 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 predeterminado False) : Indica si se debe forzar la (re)descarga de los pesos del modelo y los archivos de configuración, reemplazando 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 predeterminado False) : Indica si se deben cargar únicamente los pesos y archivos de configuración del modelo localmente. Si se establece en True, el modelo no se descargará desde el Hub.

token (str o bool, opcional) : El token que se usará como autorización HTTP bearer para archivos remotos. Si es True, se utiliza el token generado por diffusers-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 defecto True si la versión de torch >= 1.9.0, en caso contrario False) : Acelera la carga del modelo cargando solo los pesos preentrenados y no inicializando los pesos. Esto también intenta no usar más de 1x el tamaño del modelo en la memoria de CPU (incluida la memoria pico) mientras se carga el modelo. Solo se admite para PyTorch >= 1.9.0. Si estás usando una versión anterior de PyTorch, establecer este argumento en True generará un error.

set_ip_adapter_scale[[diffusers.loaders.IPAdapterMixin.set_ip_adapter_scale]]

set_ip_adapter_scale(scale)

Fuente

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)

unload_ip_adapter[[diffusers.loaders.IPAdapterMixin.unload_ip_adapter]]

unload_ip_adapter()

Fuente

Descarga los pesos del IP Adapter

Ejemplos:

>>> # Assuming `pipeline` is already loaded with the IP Adapter weights.
>>> pipeline.unload_ip_adapter()
>>> ...

SD3IPAdapterMixin[[diffusers.loaders.SD3IPAdapterMixin]]

diffusers.loaders.SD3IPAdapterMixin[[diffusers.loaders.SD3IPAdapterMixin]]

diffusers.loaders.SD3IPAdapterMixin()

Fuente

Mixin para gestionar adaptadores IP de StableDiffusion 3.

is_ip_adapter_active[[diffusers.loaders.SD3IPAdapterMixin.is_ip_adapter_active]]

is_ip_adapter_active()

Fuente

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[[diffusers.loaders.SD3IPAdapterMixin.load_ip_adapter]]

load_ip_adapter(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], weight_name: str = 'ip-adapter.safetensors', subfolder: str | None = None, image_encoder_folder: str | None = 'image_encoder', **kwargs)

Fuente

Parámetros:

pretrained_model_name_or_path_or_dict (str o os.PathLike o dict) : Puede ser: - Una cadena, 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 torch state dict.

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 que subfolder.

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 que weight_name.

image_encoder_folder (str, opcional, por defecto image_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. Pasa None para no cargar el codificador de imágenes. Si el codificador de imágenes se encuentra en una carpeta dentro de subfolder, solo necesitas 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 de subfolder, debes 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 predeterminado False) : Indica si se debe forzar la (re)descarga de los pesos del modelo y los archivos de configuración, reemplazando 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 predeterminado False) : Indica si se deben cargar únicamente los pesos y archivos de configuración del modelo localmente. Si se establece en True, el modelo no se descargará desde el Hub.

token (str o bool, opcional) : El token que se usará como autorización HTTP bearer para archivos remotos. Si es True, se utiliza el token generado por diffusers-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 defecto True si la versión de torch >= 1.9.0, en caso contrario False) : Acelera la carga del modelo cargando solo los pesos preentrenados y no inicializando los pesos. Esto también intenta no usar más de 1x el tamaño del modelo en la memoria de CPU (incluida la memoria pico) mientras se carga el modelo. Solo se admite para PyTorch >= 1.9.0. Si estás usando una versión anterior de PyTorch, establecer este argumento en True generará un error.

set_ip_adapter_scale[[diffusers.loaders.SD3IPAdapterMixin.set_ip_adapter_scale]]

set_ip_adapter_scale(scale: float)

Fuente

Parámetros:

scale (float) : Escala del IP-Adapter a configurar.

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. Reducir este valor anima al modelo a generar imágenes más diversas, aunque pueden no estar tan alineadas con el prompt de imagen.

Ejemplo:

>>> # Assuming `pipeline` is already loaded with the IP Adapter weights.
>>> pipeline.set_ip_adapter_scale(0.6)
>>> ...

unload_ip_adapter[[diffusers.loaders.SD3IPAdapterMixin.unload_ip_adapter]]

unload_ip_adapter()

Fuente

Descarga los pesos del IP Adapter.

Ejemplo:

>>> # Assuming `pipeline` is already loaded with the IP Adapter weights.
>>> pipeline.unload_ip_adapter()
>>> ...

IPAdapterMaskProcessor[[diffusers.IPAdapterMaskProcessor]]

diffusers.IPAdapterMaskProcessor[[diffusers.IPAdapterMaskProcessor]]

diffusers.IPAdapterMaskProcessor(do_resize: bool = True, vae_scale_factor: int = 8, resample: str = 'lanczos', do_normalize: bool = False, do_binarize: bool = True, do_convert_grayscale: bool = True)

Fuente

Parámetros:

do_resize (bool, opcional, valor predeterminado True) : Si se deben reducir las dimensiones (altura, ancho) de la imagen a múltiplos de vae_scale_factor.

vae_scale_factor (int, opcional, valor predeterminado 8) : Factor de escala del VAE. Si do_resize es True, la imagen se redimensiona automáticamente a múltiplos de este factor.

resample (str, opcional, valor predeterminado lanczos) : Filtro de remuestreo que se utiliza al redimensionar la imagen.

do_normalize (bool, opcional, por defecto False) : Si se debe normalizar la imagen a [-1,1].

do_binarize (bool, opcional, por defecto True) : Si se debe binarizar la imagen a 0/1.

do_convert_grayscale (bool, opcional, por defecto True) : Si se deben convertir las imágenes al formato de escala de grises.

Procesador de imágenes para máscaras de imagen de IP Adapter.

downsample[[diffusers.IPAdapterMaskProcessor.downsample]]

downsample(mask: Tensor, batch_size: int, num_queries: int, value_embed_dim: int)

Fuente

Parámetros:

mask (torch.Tensor) : El tensor de máscara de entrada generado con IPAdapterMaskProcessor.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.

Xet Storage Details

Size:
14.6 kB
·
Xet hash:
937f17e001fede8c37fd785f38bc86bbee22443d86f5faa2dbf8e51b61e0047b

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.