Diffusers documentation

AutoPipeline

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AutoPipeline

El AutoPipeline está diseñado para facilitar la carga de un punto de control para una tarea sin necesidad de conocer la clase de pipeline específica. En función de la tarea, el AutoPipeline recupera automáticamente la clase de pipeline correcta desde el archivo model_index.json del punto de control.

Consulta el tutorial de AutoPipeline para aprender a usar esta API.

AutoPipelineForText2Image

clase diffusers.AutoPipelineForText2Image

< >

( *args**kwargs )

AutoPipelineForText2Image es una clase de pipeline genérica que instancia una clase de pipeline de texto a imagen. La clase de pipeline subyacente específica se selecciona automáticamente a partir de los métodos from_pretrained() o from_pipe().

Esta clase no se puede instanciar usando __init__() (lanza un error).

Atributos de clase:

  • config_name (str) — El nombre del archivo de configuración que almacena los nombres de las clases y los módulos de todos los componentes del pipeline de difusión.

from_pretrained

< >

( pretrained_model_or_path**kwargs )

Parámetros

  • pretrained_model_or_path (str o os.PathLike, opcional) — Puede ser:
    • Una cadena de caracteres, el repo id (por ejemplo, CompVis/ldm-text2im-large-256) de un pipeline preentrenado alojado en el Hub.
    • Una ruta a un directorio (por ejemplo, ./my_pipeline_directory/) que contiene los pesos de la pipeline guardados con save_pretrained().
  • dtype (torch.dtype, opcional) — Sobrescribe el torch.dtype predeterminado y carga el modelo con otro dtype.
  • 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, ignorando las versiones en caché si existen.
  • 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.
  • 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.
  • output_loading_info(bool, opcional, por defecto False) — Indica si se debe devolver también un diccionario que contenga las claves faltantes, las claves inesperadas y los mensajes de error.
  • local_files_only (bool, opcional, valor predeterminado False) — Indica si se deben cargar únicamente los pesos y archivos de configuración del modelo locales. 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 los archivos remotos. Si True, se utiliza el token generado desde 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.
  • custom_revision (str, opcional, valor predeterminado "main") — La versión específica del modelo que se va a utilizar. Puede ser un nombre de rama, un nombre de etiqueta o un id de commit, similar a revision al cargar un pipeline personalizado desde el Hub. Puede ser una versión de 🤗 Diffusers al cargar un pipeline personalizado desde GitHub; de lo contrario, el valor predeterminado es "main" al cargar desde el Hub.
  • mirror (str, opcional) — Origen de espejo para resolver problemas de accesibilidad si estás descargando un modelo en China. No garantizamos la oportunidad ni la seguridad de la fuente, y debes consultar el sitio del espejo para obtener más información.
  • device_map (str o dict[str, int | str | torch.device], opcional) — Un mapa que especifica dónde debe ir cada submódulo. No es necesario definirlo para cada nombre de parámetro/buffer; una vez que un nombre de módulo dado está incluido, todos sus submódulos se enviarán al mismo dispositivo.

    Establezca device_map="auto" para que 🤗 Accelerate calcule automáticamente el device_map más optimizado. Para obtener más información sobre cada opción, consulte el diseño de un mapa de dispositivos.

  • max_memory (Dict, opcional) — Un diccionario con el identificador de dispositivo para la memoria máxima. Si no se establece, se usará la memoria máxima disponible para cada GPU y la RAM de CPU disponible.
  • offload_folder (str o os.PathLike, opcional) — La ruta para descargar los pesos si device_map contiene el valor "disk".
  • offload_state_dict (bool, opcional) — Si es True, descarga temporalmente el state dict de CPU al disco duro para evitar quedarse sin RAM de CPU si el peso del state dict de CPU + el shard más grande del checkpoint no cabe. El valor predeterminado es True cuando hay alguna descarga a disco.
  • 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 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 en True generará un error.
  • use_safetensors (bool, opcional, valor predeterminado None) — Si se establece en None, se descargan los pesos de safetensors si están disponibles y si la biblioteca safetensors está instalada. Si se establece en True, el modelo se carga forzosamente desde los pesos de safetensors. Si se establece en False, no se cargan los pesos de safetensors.
  • kwargs (diccionario restante de argumentos de palabra clave, opcional) — Se puede usar para sobrescribir las variables de carga y guardado (los componentes de pipeline de la clase de pipeline específica). Los componentes sobrescritos se pasan directamente al método __init__ de los pipelines. Consulte el ejemplo siguiente para obtener más información.
  • variant (str, opcional) — Carga los pesos desde un nombre de archivo de variante especificado, como "fp16" o "ema".

Instancia un pipeline de difusión de texto a imagen de Pytorch a partir de pesos de pipeline preentrenados.

El método from_pretrained() se encarga de devolver la instancia correcta de la clase de pipeline mediante:

  1. Detecta la clase de pipeline de pretrained_model_or_path en función de la propiedad _class_name de su objeto config
  2. Encuentra el pipeline de texto a imagen vinculado a la clase de pipeline mediante la coincidencia de patrones en el nombre de la clase de pipeline.

Si se pasa un argumento controlnet, se instanciará un objeto StableDiffusionControlNetPipeline.

El pipeline se configura en modo de evaluación (model.eval()) de forma predeterminada.

Si obtienes el siguiente mensaje de error, necesitas ajustar los pesos para tu tarea de destino:

Some weights of UNet2DConditionModel were not initialized from the model checkpoint at stable-diffusion-v1-5/stable-diffusion-v1-5 and are newly initialized because the shapes did not match:
- conv_in.weight: found shape torch.Size([320, 4, 3, 3]) in the checkpoint and torch.Size([320, 9, 3, 3]) in the model instantiated
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.

> Para usar modelos privados o con acceso restringido, inicia sesión con hf > auth login.

Ejemplos:

>>> from diffusers import AutoPipelineForText2Image

>>> pipeline = AutoPipelineForText2Image.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5")
>>> image = pipeline(prompt).images[0]

from_pipe

< >

( pipeline**kwargs )

Parámetros

  • pipeline (DiffusionPipeline) — un objeto DiffusionPipeline instanciado

Instancia un pipeline de difusión de texto a imagen de Pytorch a partir de otra clase de pipeline de difusión instanciada.

El método from_pipe() se encarga de devolver la instancia correcta de la clase de pipeline al encontrar el pipeline de texto a imagen vinculado a la clase de pipeline mediante coincidencia de patrones en el nombre de la clase de pipeline.

Todos los módulos que contiene el pipeline se utilizarán para inicializar el nuevo pipeline sin asignar memoria adicional.

El pipeline se configura en modo de evaluación (model.eval()) de forma predeterminada.

>>> from diffusers import AutoPipelineForText2Image, AutoPipelineForImage2Image

>>> pipe_i2i = AutoPipelineForImage2Image.from_pretrained(
...     "stable-diffusion-v1-5/stable-diffusion-v1-5", requires_safety_checker=False
... )

>>> pipe_t2i = AutoPipelineForText2Image.from_pipe(pipe_i2i)
>>> image = pipe_t2i(prompt).images[0]

AutoPipelineForImage2Image

clase diffusers.AutoPipelineForImage2Image

< >

( *args**kwargs )

AutoPipelineForImage2Image es una clase de pipeline genérica que instancia una clase de pipeline de imagen a imagen. La clase de pipeline subyacente específica se selecciona automáticamente a partir de los métodos from_pretrained() o from_pipe().

Esta clase no se puede instanciar usando __init__() (lanza un error).

Atributos de clase:

  • config_name (str) — El nombre del archivo de configuración que almacena los nombres de las clases y los módulos de todos los componentes del pipeline de difusión.

from_pretrained

< >

( pretrained_model_or_path**kwargs )

Parámetros

  • pretrained_model_or_path (str o os.PathLike, opcional) — Puede ser:
    • Una cadena de caracteres, el repo id (por ejemplo, CompVis/ldm-text2im-large-256) de un pipeline preentrenado alojado en el Hub.
    • Una ruta a un directorio (por ejemplo, ./my_pipeline_directory/) que contiene los pesos de la pipeline guardados con save_pretrained().
  • dtype (str o torch.dtype, opcional) — Sobrescribe el torch.dtype predeterminado y carga el modelo con otro dtype.
  • 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, ignorando las versiones en caché si existen.
  • 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.
  • 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.
  • output_loading_info(bool, opcional, por defecto False) — Indica si se debe devolver también un diccionario que contenga las claves faltantes, las claves inesperadas y los mensajes de error.
  • local_files_only (bool, opcional, valor predeterminado False) — Indica si se deben cargar únicamente los pesos y archivos de configuración del modelo locales. 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 los archivos remotos. Si True, se utiliza el token generado desde 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.
  • custom_revision (str, opcional, valor predeterminado "main") — La versión específica del modelo que se va a utilizar. Puede ser un nombre de rama, un nombre de etiqueta o un id de commit, similar a revision al cargar un pipeline personalizado desde el Hub. Puede ser una versión de 🤗 Diffusers al cargar un pipeline personalizado desde GitHub; de lo contrario, el valor predeterminado es "main" al cargar desde el Hub.
  • mirror (str, opcional) — Origen de espejo para resolver problemas de accesibilidad si estás descargando un modelo en China. No garantizamos la oportunidad ni la seguridad de la fuente, y debes consultar el sitio del espejo para obtener más información.
  • device_map (str o dict[str, int | str | torch.device], opcional) — Un mapa que especifica dónde debe ir cada submódulo. No es necesario definirlo para cada nombre de parámetro/buffer; una vez que un nombre de módulo dado está incluido, todos sus submódulos se enviarán al mismo dispositivo.

    Establezca device_map="auto" para que 🤗 Accelerate calcule automáticamente el device_map más optimizado. Para obtener más información sobre cada opción, consulte el diseño de un mapa de dispositivos.

  • max_memory (Dict, opcional) — Un diccionario con el identificador de dispositivo para la memoria máxima. Si no se establece, se usará la memoria máxima disponible para cada GPU y la RAM de CPU disponible.
  • offload_folder (str o os.PathLike, opcional) — La ruta para descargar los pesos si device_map contiene el valor "disk".
  • offload_state_dict (bool, opcional) — Si es True, descarga temporalmente el state dict de CPU al disco duro para evitar quedarse sin RAM de CPU si el peso del state dict de CPU + el shard más grande del checkpoint no cabe. El valor predeterminado es True cuando hay alguna descarga a disco.
  • 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 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 en True generará un error.
  • use_safetensors (bool, opcional, valor predeterminado None) — Si se establece en None, se descargan los pesos de safetensors si están disponibles y si la biblioteca safetensors está instalada. Si se establece en True, el modelo se carga forzosamente desde los pesos de safetensors. Si se establece en False, no se cargan los pesos de safetensors.
  • kwargs (diccionario restante de argumentos de palabra clave, opcional) — Se puede usar para sobrescribir las variables de carga y guardado (los componentes de pipeline de la clase de pipeline específica). Los componentes sobrescritos se pasan directamente al método __init__ de los pipelines. Consulte el ejemplo siguiente para obtener más información.
  • variant (str, opcional) — Carga los pesos desde un nombre de archivo de variante especificado, como "fp16" o "ema".

Instancia un pipeline de difusión de Pytorch de imagen a imagen a partir de pesos de pipeline preentrenados.

El método from_pretrained() se encarga de devolver la instancia correcta de la clase de pipeline mediante:

  1. Detecta la clase de pipeline de pretrained_model_or_path en función de la propiedad _class_name de su objeto config
  2. Encuentra el pipeline de imagen a imagen vinculado a la clase de pipeline mediante la coincidencia de patrones en el nombre de la clase de pipeline.

Si se pasa un argumento controlnet, se instanciará un objeto StableDiffusionControlNetImg2ImgPipeline.

El pipeline se configura en modo de evaluación (model.eval()) de forma predeterminada.

Si obtienes el siguiente mensaje de error, necesitas ajustar los pesos para tu tarea de destino:

Some weights of UNet2DConditionModel were not initialized from the model checkpoint at stable-diffusion-v1-5/stable-diffusion-v1-5 and are newly initialized because the shapes did not match:
- conv_in.weight: found shape torch.Size([320, 4, 3, 3]) in the checkpoint and torch.Size([320, 9, 3, 3]) in the model instantiated
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.

> Para usar modelos privados o con acceso restringido, inicia sesión con hf > auth login.

Ejemplos:

>>> from diffusers import AutoPipelineForImage2Image

>>> pipeline = AutoPipelineForImage2Image.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5")
>>> image = pipeline(prompt, image).images[0]

from_pipe

< >

( pipeline**kwargs )

Parámetros

  • pipeline (DiffusionPipeline) — un objeto DiffusionPipeline instanciado

Instancia un pipeline de difusión de Pytorch de imagen a imagen a partir de otra clase de pipeline de difusión instanciada.

El método from_pipe() se encarga de devolver la instancia correcta de la clase de pipeline al encontrar el pipeline de imagen a imagen vinculado a la clase de pipeline mediante coincidencia de patrones en el nombre de la clase de pipeline.

Todos los módulos que contiene el pipeline se utilizarán para inicializar el nuevo pipeline sin asignar memoria adicional.

El pipeline se configura en modo de evaluación (model.eval()) de forma predeterminada.

Ejemplos:

>>> from diffusers import AutoPipelineForText2Image, AutoPipelineForImage2Image

>>> pipe_t2i = AutoPipelineForText2Image.from_pretrained(
...     "stable-diffusion-v1-5/stable-diffusion-v1-5", requires_safety_checker=False
... )

>>> pipe_i2i = AutoPipelineForImage2Image.from_pipe(pipe_t2i)
>>> image = pipe_i2i(prompt, image).images[0]

AutoPipelineForInpainting

clase diffusers.AutoPipelineForInpainting

< >

( *args**kwargs )

AutoPipelineForInpainting es una clase de pipeline genérica que instancia una clase de pipeline de inpainting. La clase de pipeline subyacente específica se selecciona automáticamente a partir de los métodos from_pretrained() o from_pipe().

Esta clase no se puede instanciar usando __init__() (lanza un error).

Atributos de clase:

  • config_name (str) — El nombre del archivo de configuración que almacena los nombres de las clases y los módulos de todos los componentes del pipeline de difusión.

from_pretrained

< >

( pretrained_model_or_path**kwargs )

Parámetros

  • pretrained_model_or_path (str o os.PathLike, opcional) — Puede ser:
    • Una cadena de caracteres, el repo id (por ejemplo, CompVis/ldm-text2im-large-256) de un pipeline preentrenado alojado en el Hub.
    • Una ruta a un directorio (por ejemplo, ./my_pipeline_directory/) que contiene los pesos de la pipeline guardados con save_pretrained().
  • dtype (str o torch.dtype, opcional) — Sobrescribe el torch.dtype predeterminado y carga el modelo con otro dtype.
  • 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, ignorando las versiones en caché si existen.
  • 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.
  • 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.
  • output_loading_info(bool, opcional, por defecto False) — Indica si se debe devolver también un diccionario que contenga las claves faltantes, las claves inesperadas y los mensajes de error.
  • local_files_only (bool, opcional, valor predeterminado False) — Indica si se deben cargar únicamente los pesos y archivos de configuración del modelo locales. 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 los archivos remotos. Si True, se utiliza el token generado desde 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.
  • custom_revision (str, opcional, valor predeterminado "main") — La versión específica del modelo que se va a utilizar. Puede ser un nombre de rama, un nombre de etiqueta o un id de commit, similar a revision al cargar un pipeline personalizado desde el Hub. Puede ser una versión de 🤗 Diffusers al cargar un pipeline personalizado desde GitHub; de lo contrario, el valor predeterminado es "main" al cargar desde el Hub.
  • mirror (str, opcional) — Origen de espejo para resolver problemas de accesibilidad si estás descargando un modelo en China. No garantizamos la oportunidad ni la seguridad de la fuente, y debes consultar el sitio del espejo para obtener más información.
  • device_map (str o dict[str, int | str | torch.device], opcional) — Un mapa que especifica dónde debe ir cada submódulo. No es necesario definirlo para cada nombre de parámetro/buffer; una vez que un nombre de módulo dado está incluido, todos sus submódulos se enviarán al mismo dispositivo.

    Establezca device_map="auto" para que 🤗 Accelerate calcule automáticamente el device_map más optimizado. Para obtener más información sobre cada opción, consulte el diseño de un mapa de dispositivos.

  • max_memory (Dict, opcional) — Un diccionario con el identificador de dispositivo para la memoria máxima. Si no se establece, se usará la memoria máxima disponible para cada GPU y la RAM de CPU disponible.
  • offload_folder (str o os.PathLike, opcional) — La ruta para descargar los pesos si device_map contiene el valor "disk".
  • offload_state_dict (bool, opcional) — Si es True, descarga temporalmente el state dict de CPU al disco duro para evitar quedarse sin RAM de CPU si el peso del state dict de CPU + el shard más grande del checkpoint no cabe. El valor predeterminado es True cuando hay alguna descarga a disco.
  • 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 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 en True generará un error.
  • use_safetensors (bool, opcional, valor predeterminado None) — Si se establece en None, se descargan los pesos de safetensors si están disponibles y si la biblioteca safetensors está instalada. Si se establece en True, el modelo se carga forzosamente desde los pesos de safetensors. Si se establece en False, no se cargan los pesos de safetensors.
  • kwargs (diccionario restante de argumentos de palabra clave, opcional) — Se puede usar para sobrescribir las variables de carga y guardado (los componentes de pipeline de la clase de pipeline específica). Los componentes sobrescritos se pasan directamente al método __init__ de los pipelines. Consulte el ejemplo siguiente para obtener más información.
  • variant (str, opcional) — Carga los pesos desde un nombre de archivo de variante especificado, como "fp16" o "ema".

Instancia un pipeline de difusión de Pytorch para inpainting a partir de pesos de pipeline preentrenados.

El método from_pretrained() se encarga de devolver la instancia correcta de la clase de pipeline mediante:

  1. Detecta la clase de pipeline de pretrained_model_or_path en función de la propiedad _class_name de su objeto config
  2. Encuentra el pipeline de inpainting vinculado a la clase de pipeline mediante la coincidencia de patrones en el nombre de la clase de pipeline.

Si se pasa un argumento controlnet, se instanciará un objeto StableDiffusionControlNetInpaintPipeline.

El pipeline se configura en modo de evaluación (model.eval()) de forma predeterminada.

Si obtienes el siguiente mensaje de error, necesitas ajustar los pesos para tu tarea de destino:

Some weights of UNet2DConditionModel were not initialized from the model checkpoint at stable-diffusion-v1-5/stable-diffusion-v1-5 and are newly initialized because the shapes did not match:
- conv_in.weight: found shape torch.Size([320, 4, 3, 3]) in the checkpoint and torch.Size([320, 9, 3, 3]) in the model instantiated
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.

> Para usar modelos privados o con acceso restringido, inicia sesión con hf > auth login.

Ejemplos:

>>> from diffusers import AutoPipelineForInpainting

>>> pipeline = AutoPipelineForInpainting.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5")
>>> image = pipeline(prompt, image=init_image, mask_image=mask_image).images[0]

from_pipe

< >

( pipeline**kwargs )

Parámetros

  • pipeline (DiffusionPipeline) — un objeto DiffusionPipeline instanciado

Instancia un pipeline de difusión de Pytorch para inpainting a partir de otra clase de pipeline de difusión instanciada.

El método from_pipe() se encarga de devolver la instancia correcta de la clase de pipeline al encontrar el pipeline de inpainting vinculado a la clase de pipeline mediante coincidencia de patrones en el nombre de la clase de pipeline.

Todos los módulos que contiene la clase pipeline se utilizarán para inicializar el nuevo pipeline sin asignar memoria adicional.

El pipeline se configura en modo de evaluación (model.eval()) de forma predeterminada.

Ejemplos:

>>> from diffusers import AutoPipelineForText2Image, AutoPipelineForInpainting

>>> pipe_t2i = AutoPipelineForText2Image.from_pretrained(
...     "DeepFloyd/IF-I-XL-v1.0", requires_safety_checker=False
... )

>>> pipe_inpaint = AutoPipelineForInpainting.from_pipe(pipe_t2i)
>>> image = pipe_inpaint(prompt, image=init_image, mask_image=mask_image).images[0]

AutoPipelineForText2Audio

clase diffusers.AutoPipelineForText2Audio

< >

( *args**kwargs )

AutoPipelineForText2Audio es una clase de pipeline genérica que instancia una clase de pipeline de texto a audio. La clase de pipeline subyacente específica se selecciona automáticamente a partir de los métodos from_pretrained() o from_pipe().

Esta clase no se puede instanciar usando __init__() (lanza un error).

Atributos de clase:

  • config_name (str) — El nombre del archivo de configuración que almacena los nombres de las clases y los módulos de todos los componentes del pipeline de difusión.

from_pretrained

< >

( pretrained_model_or_path**kwargs )

Parámetros

  • pretrained_model_or_path (str o os.PathLike, opcional) — Puede ser:
    • Una cadena de caracteres, el repo id (por ejemplo, stabilityai/stable-audio-open-1.0) de un pipeline preentrenado alojado en el Hub.
    • Una ruta a un directorio (por ejemplo, ./my_pipeline_directory/) que contiene los pesos de la pipeline guardados con save_pretrained().
  • dtype (torch.dtype, opcional) — Sobrescribe el torch.dtype predeterminado y carga el modelo con otro dtype.
  • 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, ignorando las versiones en caché si existen.
  • 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.
  • 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.
  • output_loading_info(bool, opcional, por defecto False) — Indica si se debe devolver también un diccionario que contenga las claves faltantes, las claves inesperadas y los mensajes de error.
  • local_files_only (bool, opcional, valor predeterminado False) — Indica si se deben cargar únicamente los pesos y archivos de configuración del modelo locales. 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 los archivos remotos. Si True, se utiliza el token generado desde 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.
  • custom_revision (str, opcional, valor predeterminado "main") — La versión específica del modelo que se va a utilizar. Puede ser un nombre de rama, un nombre de etiqueta o un id de commit, similar a revision al cargar un pipeline personalizado desde el Hub. Puede ser una versión de 🤗 Diffusers al cargar un pipeline personalizado desde GitHub; de lo contrario, el valor predeterminado es "main" al cargar desde el Hub.
  • mirror (str, opcional) — Origen de espejo para resolver problemas de accesibilidad si estás descargando un modelo en China. No garantizamos la oportunidad ni la seguridad de la fuente, y debes consultar el sitio del espejo para obtener más información.
  • device_map (str o dict[str, int | str | torch.device], opcional) — Un mapa que especifica dónde debe ir cada submódulo. No es necesario definirlo para cada nombre de parámetro/buffer; una vez que un nombre de módulo dado está incluido, todos sus submódulos se enviarán al mismo dispositivo.

    Establezca device_map="auto" para que 🤗 Accelerate calcule automáticamente el device_map más optimizado. Para obtener más información sobre cada opción, consulte el diseño de un mapa de dispositivos.

  • max_memory (Dict, opcional) — Un diccionario con el identificador de dispositivo para la memoria máxima. Si no se establece, se usará la memoria máxima disponible para cada GPU y la RAM de CPU disponible.
  • offload_folder (str o os.PathLike, opcional) — La ruta para descargar los pesos si device_map contiene el valor "disk".
  • offload_state_dict (bool, opcional) — Si es True, descarga temporalmente el state dict de CPU al disco duro para evitar quedarse sin RAM de CPU si el peso del state dict de CPU + el shard más grande del checkpoint no cabe. El valor predeterminado es True cuando hay alguna descarga a disco.
  • 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 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 en True generará un error.
  • use_safetensors (bool, opcional, valor predeterminado None) — Si se establece en None, se descargan los pesos de safetensors si están disponibles y si la biblioteca safetensors está instalada. Si se establece en True, el modelo se carga forzosamente desde los pesos de safetensors. Si se establece en False, no se cargan los pesos de safetensors.
  • kwargs (diccionario restante de argumentos de palabra clave, opcional) — Se puede usar para sobrescribir las variables de carga y guardado (los componentes de pipeline de la clase de pipeline específica). Los componentes sobrescritos se pasan directamente al método __init__ de los pipelines. Consulte el ejemplo siguiente para obtener más información.
  • variant (str, opcional) — Carga los pesos desde un nombre de archivo de variante especificado, como "fp16" o "ema".

Instancia un pipeline de difusión de texto a audio de Pytorch a partir de pesos de pipeline preentrenados.

El método from_pretrained() se encarga de devolver la instancia correcta de la clase de pipeline mediante:

  1. Detecta la clase de pipeline de pretrained_model_or_path en función de la propiedad _class_name de su objeto config
  2. Encuentra el pipeline de texto a audio vinculado a la clase de pipeline mediante la coincidencia de patrones en el nombre de la clase de pipeline.

El pipeline se configura en modo de evaluación (model.eval()) de forma predeterminada.

> Para usar modelos privados o con acceso restringido, inicia sesión con hf > auth login.

Ejemplos:

>>> import torch
>>> import soundfile as sf
>>> from diffusers import AutoPipelineForText2Audio

>>> pipeline = AutoPipelineForText2Audio.from_pretrained(
...     "stabilityai/stable-audio-open-1.0", torch_dtype=torch.float16
... )
>>> pipeline = pipeline.to("cuda")

>>> output = pipeline(
...     "Generate a male voice reading a paragraph",
...     num_inference_steps=200,
...     audio_end_in_s=10.0,
... )
>>> audio = output.audios[0].T.float().cpu().numpy()
>>> sf.write("audio.wav", audio, pipeline.vae.sampling_rate)

from_pipe

< >

( pipeline**kwargs )

Parámetros

  • pipeline (DiffusionPipeline) — un objeto DiffusionPipeline instanciado

Instancia un pipeline de difusión de Pytorch de texto a audio a partir de otra clase de pipeline de difusión instanciada.

El método from_pipe() se encarga de devolver la instancia correcta de la clase de pipeline al encontrar el pipeline de texto a audio vinculado a la clase de pipeline mediante coincidencia de patrones en el nombre de la clase de pipeline.

Todos los módulos que contiene el pipeline se utilizarán para inicializar el nuevo pipeline sin asignar memoria adicional.

El pipeline se configura en modo de evaluación (model.eval()) de forma predeterminada.

>>> import torch
>>> import soundfile as sf
>>> from diffusers import AutoPipelineForText2Audio, StableAudioPipeline

>>> pipe = StableAudioPipeline.from_pretrained("stabilityai/stable-audio-open-1.0", torch_dtype=torch.float16)

>>> pipe_audio = AutoPipelineForText2Audio.from_pipe(pipe)
>>> output = pipe_audio(
...     "Generate a sound",
...     num_inference_steps=200,
...     audio_end_in_s=10.0,
... )
>>> audio = output.audios[0].T.float().cpu().numpy()
>>> sf.write("audio.wav", audio, pipe_audio.vae.sampling_rate)
Update on GitHub