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

O AutoPipeline foi projetado para facilitar o carregamento de um checkpoint para uma tarefa sem a necessidade de conhecer a classe de pipeline específica. Com base na tarefa, o AutoPipeline recupera automaticamente a classe de pipeline correta do arquivo model_index.json do checkpoint.

Confira o tutorial do AutoPipeline para aprender a usar esta API!

AutoPipelineForText2Image

classe diffusers.AutoPipelineForText2Image

< >

( *args**kwargs )

AutoPipelineForText2Image é uma classe de pipeline genérica que instancia uma classe de pipeline de texto para imagem. A classe de pipeline subjacente específica é selecionada automaticamente a partir dos métodos from_pretrained() ou from_pipe().

Esta classe não pode ser instanciada usando __init__() (lança um erro).

Atributos de classe:

  • config_name (str) — O nome do arquivo de configuração que armazena os nomes de classe e módulo de todos os componentes do pipeline de difusão.

from_pretrained

< >

( pretrained_model_or_path**kwargs )

Parâmetros

  • pretrained_model_or_path (str ou os.PathLike, opcional) — Pode ser:
    • Uma string, o repo id (por exemplo, CompVis/ldm-text2im-large-256) de um pipeline pré-treinado hospedado no Hub.
    • Um caminho para um diretório (por exemplo, ./my_pipeline_directory/) contendo pesos de pipeline salvos usando save_pretrained().
  • dtype (torch.dtype, opcional) — Substitui o torch.dtype padrão e carrega o modelo com outro dtype.
  • force_download (bool, opcional, padrão False) — Se deve forçar o (re-)download dos pesos do modelo e dos arquivos de configuração, sobrescrevendo as versões em cache, caso existam.
  • cache_dir (str | os.PathLike, opcional) — Caminho para um diretório onde a configuração de um modelo pré-treinado baixado é armazenada em cache, caso o cache padrão não seja utilizado.
  • proxies (dict[str, str], opcional) — Um dicionário de servidores proxy a serem usados por protocolo ou endpoint, por exemplo, {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Os proxies são usados em cada solicitação.
  • output_loading_info(bool, opcional, padrão False) — Indica se deve ou não retornar também um dicionário contendo chaves ausentes, chaves inesperadas e mensagens de erro.
  • local_files_only (bool, opcional, padrão False) — Se deve carregar apenas os pesos e arquivos de configuração do modelo localmente. Se definido como True, o modelo não será baixado do Hub.
  • token (str ou bool, opcional) — O token a ser usado como autorização de bearer HTTP para arquivos remotos. Se True, o token gerado por diffusers-cli login (armazenado em ~/.huggingface) é utilizado.
  • revision (str, opcional, padrão "main") — A versão específica do modelo a ser usada. Pode ser o nome de um branch, o nome de uma tag, um id de commit ou qualquer identificador permitido pelo Git.
  • custom_revision (str, opcional, padrão "main") — A versão específica do modelo a ser usada. Pode ser um nome de branch, um nome de tag ou um id de commit, semelhante a revision ao carregar um pipeline personalizado do Hub. Pode ser uma versão do 🤗 Diffusers ao carregar um pipeline personalizado do GitHub; caso contrário, o padrão é "main" ao carregar do Hub.
  • mirror (str, opcional) — Espelho de origem para resolver problemas de acessibilidade se você estiver baixando um modelo na China. Não garantimos a atualidade ou a segurança da origem, e você deve consultar o site do espelho para obter mais informações.
  • device_map (str ou dict[str, int | str | torch.device], opcional) — Um mapa que especifica para onde cada submódulo deve ser enviado. Não é necessário defini-lo para cada nome de parâmetro/buffer; uma vez que um determinado nome de módulo esteja incluído, todos os seus submódulos serão enviados para o mesmo dispositivo.

    Defina device_map="auto" para que o 🤗 Accelerate calcule automaticamente o device_map mais otimizado. Para mais informações sobre cada opção, consulte projetando um mapa de dispositivos.

  • max_memory (Dict, opcional) — Um dicionário com o identificador do dispositivo para a memória máxima. Se não for definido, o padrão será a memória máxima disponível para cada GPU e a RAM disponível na CPU.
  • offload_folder (str ou os.PathLike, opcional) — O caminho para descarregar os pesos se device_map contiver o valor "disk".
  • offload_state_dict (bool, opcional) — Se True, descarrega temporariamente o state dict da CPU para o disco rígido para evitar a falta de RAM da CPU caso o peso do state dict da CPU + o maior shard do checkpoint não caiba. O padrão é True quando há algum offload de disco.
  • low_cpu_mem_usage (bool, opcional, padrão True se a versão do torch >= 1.9.0, caso contrário False) — Acelera o carregamento do modelo carregando apenas os pesos pré-treinados e não inicializando os pesos. Isso também tenta não usar mais do que 1x o tamanho do modelo na memória de CPU (incluindo a memória de pico) durante o carregamento do modelo. Suportado apenas para PyTorch >= 1.9.0. Se você estiver usando uma versão mais antiga do PyTorch, definir este argumento como True causará um erro.
  • use_safetensors (bool, opcional, padrão None) — Se definido como None, os pesos em safetensors são baixados se estiverem disponíveis e se a biblioteca safetensors estiver instalada. Se definido como True, o modelo é carregado forçadamente a partir dos pesos em safetensors. Se definido como False, os pesos em safetensors não são carregados.
  • kwargs (dicionário restante de argumentos de palavra-chave, opcional) — Pode ser usado para sobrescrever variáveis de carregamento e salvamento (os componentes do pipeline da classe de pipeline específica). Os componentes sobrescritos são passados diretamente para o método __init__ dos pipelines. Veja o exemplo abaixo para mais informações.
  • variant (str, opcional) — Carrega os pesos de um nome de arquivo de variante especificado, como "fp16" ou "ema".

Instancia um pipeline de difusão Pytorch de texto para imagem a partir de pesos de pipeline pré-treinados.

O método from_pretrained() cuida de retornar a instância da classe de pipeline correta por meio de:

  1. Detecte a classe de pipeline do pretrained_model_or_path com base na propriedade _class_name do seu objeto config
  2. Encontre o pipeline de texto para imagem vinculado à classe de pipeline usando correspondência de padrões no nome da classe de pipeline.

Se um argumento controlnet for passado, um objeto StableDiffusionControlNetPipeline será instanciado.

O pipeline é definido no modo de avaliação (model.eval()) por padrão.

Se você receber a mensagem de erro abaixo, é necessário ajustar os pesos para sua tarefa 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 ou com acesso restrito, faça login com hf > auth login.

Exemplos:

>>> 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) — um objeto DiffusionPipeline instanciado

Instancia um pipeline de difusão de texto para imagem do Pytorch a partir de outra classe de pipeline de difusão instanciada.

O método from_pipe() se encarrega de retornar a instância correta da classe de pipeline, localizando o pipeline de texto para imagem vinculado à classe de pipeline por meio de correspondência de padrões no nome da classe de pipeline.

Todos os módulos contidos no pipeline serão usados para inicializar o novo pipeline sem alocar memória adicional.

O pipeline é definido no modo de avaliação (model.eval()) por padrão.

>>> 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

classe diffusers.AutoPipelineForImage2Image

< >

( *args**kwargs )

AutoPipelineForImage2Image é uma classe de pipeline genérica que instancia uma classe de pipeline de imagem para imagem. A classe de pipeline subjacente específica é selecionada automaticamente a partir dos métodos from_pretrained() ou from_pipe().

Esta classe não pode ser instanciada usando __init__() (lança um erro).

Atributos de classe:

  • config_name (str) — O nome do arquivo de configuração que armazena os nomes de classe e módulo de todos os componentes do pipeline de difusão.

from_pretrained

< >

( pretrained_model_or_path**kwargs )

Parâmetros

  • pretrained_model_or_path (str ou os.PathLike, opcional) — Pode ser:
    • Uma string, o repo id (por exemplo, CompVis/ldm-text2im-large-256) de um pipeline pré-treinado hospedado no Hub.
    • Um caminho para um diretório (por exemplo, ./my_pipeline_directory/) contendo pesos de pipeline salvos usando save_pretrained().
  • dtype (str ou torch.dtype, opcional) — Substitui o torch.dtype padrão e carrega o modelo com outro dtype.
  • force_download (bool, opcional, padrão False) — Se deve forçar o (re-)download dos pesos do modelo e dos arquivos de configuração, sobrescrevendo as versões em cache, caso existam.
  • cache_dir (str | os.PathLike, opcional) — Caminho para um diretório onde a configuração de um modelo pré-treinado baixado é armazenada em cache, caso o cache padrão não seja utilizado.
  • proxies (dict[str, str], opcional) — Um dicionário de servidores proxy a serem usados por protocolo ou endpoint, por exemplo, {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Os proxies são usados em cada solicitação.
  • output_loading_info(bool, opcional, padrão False) — Indica se deve ou não retornar também um dicionário contendo chaves ausentes, chaves inesperadas e mensagens de erro.
  • local_files_only (bool, opcional, padrão False) — Se deve carregar apenas os pesos e arquivos de configuração do modelo localmente. Se definido como True, o modelo não será baixado do Hub.
  • token (str ou bool, opcional) — O token a ser usado como autorização de bearer HTTP para arquivos remotos. Se True, o token gerado por diffusers-cli login (armazenado em ~/.huggingface) é utilizado.
  • revision (str, opcional, padrão "main") — A versão específica do modelo a ser usada. Pode ser o nome de um branch, o nome de uma tag, um id de commit ou qualquer identificador permitido pelo Git.
  • custom_revision (str, opcional, padrão "main") — A versão específica do modelo a ser usada. Pode ser um nome de branch, um nome de tag ou um id de commit, semelhante a revision ao carregar um pipeline personalizado do Hub. Pode ser uma versão do 🤗 Diffusers ao carregar um pipeline personalizado do GitHub; caso contrário, o padrão é "main" ao carregar do Hub.
  • mirror (str, opcional) — Espelho de origem para resolver problemas de acessibilidade se você estiver baixando um modelo na China. Não garantimos a atualidade ou a segurança da origem, e você deve consultar o site do espelho para obter mais informações.
  • device_map (str ou dict[str, int | str | torch.device], opcional) — Um mapa que especifica para onde cada submódulo deve ser enviado. Não é necessário defini-lo para cada nome de parâmetro/buffer; uma vez que um determinado nome de módulo esteja incluído, todos os seus submódulos serão enviados para o mesmo dispositivo.

    Defina device_map="auto" para que o 🤗 Accelerate calcule automaticamente o device_map mais otimizado. Para mais informações sobre cada opção, consulte projetando um mapa de dispositivos.

  • max_memory (Dict, opcional) — Um dicionário com o identificador do dispositivo para a memória máxima. Se não for definido, o padrão será a memória máxima disponível para cada GPU e a RAM disponível na CPU.
  • offload_folder (str ou os.PathLike, opcional) — O caminho para descarregar os pesos se device_map contiver o valor "disk".
  • offload_state_dict (bool, opcional) — Se True, descarrega temporariamente o state dict da CPU para o disco rígido para evitar a falta de RAM da CPU caso o peso do state dict da CPU + o maior shard do checkpoint não caiba. O padrão é True quando há algum offload de disco.
  • low_cpu_mem_usage (bool, opcional, padrão True se a versão do torch >= 1.9.0, caso contrário False) — Acelera o carregamento do modelo carregando apenas os pesos pré-treinados e não inicializando os pesos. Isso também tenta não usar mais do que 1x o tamanho do modelo na memória de CPU (incluindo a memória de pico) durante o carregamento do modelo. Suportado apenas para PyTorch >= 1.9.0. Se você estiver usando uma versão mais antiga do PyTorch, definir este argumento como True causará um erro.
  • use_safetensors (bool, opcional, padrão None) — Se definido como None, os pesos em safetensors são baixados se estiverem disponíveis e se a biblioteca safetensors estiver instalada. Se definido como True, o modelo é carregado forçadamente a partir dos pesos em safetensors. Se definido como False, os pesos em safetensors não são carregados.
  • kwargs (dicionário restante de argumentos de palavra-chave, opcional) — Pode ser usado para sobrescrever variáveis de carregamento e salvamento (os componentes do pipeline da classe de pipeline específica). Os componentes sobrescritos são passados diretamente para o método __init__ dos pipelines. Veja o exemplo abaixo para mais informações.
  • variant (str, opcional) — Carrega os pesos de um nome de arquivo de variante especificado, como "fp16" ou "ema".

Instancia um pipeline de difusão Pytorch de imagem para imagem a partir de pesos de pipeline pré-treinados.

O método from_pretrained() cuida de retornar a instância da classe de pipeline correta por meio de:

  1. Detecte a classe de pipeline do pretrained_model_or_path com base na propriedade _class_name do seu objeto config
  2. Encontre o pipeline de imagem para imagem vinculado à classe de pipeline usando correspondência de padrões no nome da classe de pipeline.

Se um argumento controlnet for passado, um objeto StableDiffusionControlNetImg2ImgPipeline será instanciado.

O pipeline é definido no modo de avaliação (model.eval()) por padrão.

Se você receber a mensagem de erro abaixo, é necessário ajustar os pesos para sua tarefa 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 ou com acesso restrito, faça login com hf > auth login.

Exemplos:

>>> 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) — um objeto DiffusionPipeline instanciado

Instancia um pipeline de difusão Pytorch de imagem para imagem a partir de outra classe de pipeline de difusão instanciada.

O método from_pipe() se encarrega de retornar a instância correta da classe de pipeline, localizando o pipeline de imagem-para-imagem vinculado à classe de pipeline por meio de correspondência de padrões no nome da classe de pipeline.

Todos os módulos contidos no pipeline serão usados para inicializar o novo pipeline sem alocar memória adicional.

O pipeline é definido no modo de avaliação (model.eval()) por padrão.

Exemplos:

>>> 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

classe diffusers.AutoPipelineForInpainting

< >

( *args**kwargs )

AutoPipelineForInpainting é uma classe de pipeline genérica que instancia uma classe de pipeline de inpainting. A classe de pipeline subjacente específica é selecionada automaticamente a partir dos métodos from_pretrained() ou from_pipe().

Esta classe não pode ser instanciada usando __init__() (lança um erro).

Atributos de classe:

  • config_name (str) — O nome do arquivo de configuração que armazena os nomes de classe e módulo de todos os componentes do pipeline de difusão.

from_pretrained

< >

( pretrained_model_or_path**kwargs )

Parâmetros

  • pretrained_model_or_path (str ou os.PathLike, opcional) — Pode ser:
    • Uma string, o repo id (por exemplo, CompVis/ldm-text2im-large-256) de um pipeline pré-treinado hospedado no Hub.
    • Um caminho para um diretório (por exemplo, ./my_pipeline_directory/) contendo pesos de pipeline salvos usando save_pretrained().
  • dtype (str ou torch.dtype, opcional) — Substitui o torch.dtype padrão e carrega o modelo com outro dtype.
  • force_download (bool, opcional, padrão False) — Se deve forçar o (re-)download dos pesos do modelo e dos arquivos de configuração, sobrescrevendo as versões em cache, caso existam.
  • cache_dir (str | os.PathLike, opcional) — Caminho para um diretório onde a configuração de um modelo pré-treinado baixado é armazenada em cache, caso o cache padrão não seja utilizado.
  • proxies (dict[str, str], opcional) — Um dicionário de servidores proxy a serem usados por protocolo ou endpoint, por exemplo, {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Os proxies são usados em cada solicitação.
  • output_loading_info(bool, opcional, padrão False) — Indica se deve ou não retornar também um dicionário contendo chaves ausentes, chaves inesperadas e mensagens de erro.
  • local_files_only (bool, opcional, padrão False) — Se deve carregar apenas os pesos e arquivos de configuração do modelo localmente. Se definido como True, o modelo não será baixado do Hub.
  • token (str ou bool, opcional) — O token a ser usado como autorização de bearer HTTP para arquivos remotos. Se True, o token gerado por diffusers-cli login (armazenado em ~/.huggingface) é utilizado.
  • revision (str, opcional, padrão "main") — A versão específica do modelo a ser usada. Pode ser o nome de um branch, o nome de uma tag, um id de commit ou qualquer identificador permitido pelo Git.
  • custom_revision (str, opcional, padrão "main") — A versão específica do modelo a ser usada. Pode ser um nome de branch, um nome de tag ou um id de commit, semelhante a revision ao carregar um pipeline personalizado do Hub. Pode ser uma versão do 🤗 Diffusers ao carregar um pipeline personalizado do GitHub; caso contrário, o padrão é "main" ao carregar do Hub.
  • mirror (str, opcional) — Espelho de origem para resolver problemas de acessibilidade se você estiver baixando um modelo na China. Não garantimos a atualidade ou a segurança da origem, e você deve consultar o site do espelho para obter mais informações.
  • device_map (str ou dict[str, int | str | torch.device], opcional) — Um mapa que especifica para onde cada submódulo deve ser enviado. Não é necessário defini-lo para cada nome de parâmetro/buffer; uma vez que um determinado nome de módulo esteja incluído, todos os seus submódulos serão enviados para o mesmo dispositivo.

    Defina device_map="auto" para que o 🤗 Accelerate calcule automaticamente o device_map mais otimizado. Para mais informações sobre cada opção, consulte projetando um mapa de dispositivos.

  • max_memory (Dict, opcional) — Um dicionário com o identificador do dispositivo para a memória máxima. Se não for definido, o padrão será a memória máxima disponível para cada GPU e a RAM disponível na CPU.
  • offload_folder (str ou os.PathLike, opcional) — O caminho para descarregar os pesos se device_map contiver o valor "disk".
  • offload_state_dict (bool, opcional) — Se True, descarrega temporariamente o state dict da CPU para o disco rígido para evitar a falta de RAM da CPU caso o peso do state dict da CPU + o maior shard do checkpoint não caiba. O padrão é True quando há algum offload de disco.
  • low_cpu_mem_usage (bool, opcional, padrão True se a versão do torch >= 1.9.0, caso contrário False) — Acelera o carregamento do modelo carregando apenas os pesos pré-treinados e não inicializando os pesos. Isso também tenta não usar mais do que 1x o tamanho do modelo na memória de CPU (incluindo a memória de pico) durante o carregamento do modelo. Suportado apenas para PyTorch >= 1.9.0. Se você estiver usando uma versão mais antiga do PyTorch, definir este argumento como True causará um erro.
  • use_safetensors (bool, opcional, padrão None) — Se definido como None, os pesos em safetensors são baixados se estiverem disponíveis e se a biblioteca safetensors estiver instalada. Se definido como True, o modelo é carregado forçadamente a partir dos pesos em safetensors. Se definido como False, os pesos em safetensors não são carregados.
  • kwargs (dicionário restante de argumentos de palavra-chave, opcional) — Pode ser usado para sobrescrever variáveis de carregamento e salvamento (os componentes do pipeline da classe de pipeline específica). Os componentes sobrescritos são passados diretamente para o método __init__ dos pipelines. Veja o exemplo abaixo para mais informações.
  • variant (str, opcional) — Carrega os pesos de um nome de arquivo de variante especificado, como "fp16" ou "ema".

Instancia um pipeline de difusão Pytorch para inpainting a partir de pesos de pipeline pré-treinados.

O método from_pretrained() cuida de retornar a instância da classe de pipeline correta por meio de:

  1. Detecte a classe de pipeline do pretrained_model_or_path com base na propriedade _class_name do seu objeto config
  2. Encontre o pipeline de inpainting vinculado à classe de pipeline usando correspondência de padrões no nome da classe de pipeline.

Se um argumento controlnet for passado, um objeto StableDiffusionControlNetInpaintPipeline será instanciado.

O pipeline é definido no modo de avaliação (model.eval()) por padrão.

Se você receber a mensagem de erro abaixo, é necessário ajustar os pesos para sua tarefa 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 ou com acesso restrito, faça login com hf > auth login.

Exemplos:

>>> 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) — um objeto DiffusionPipeline instanciado

Instancia um pipeline de difusão Pytorch para inpainting a partir de outra classe de pipeline de difusão instanciada.

O método from_pipe() se encarrega de retornar a instância correta da classe de pipeline, localizando o pipeline de inpainting vinculado à classe de pipeline por meio de correspondência de padrões no nome da classe de pipeline.

Todos os módulos contidos na classe pipeline serão usados para inicializar o novo pipeline sem alocar memória adicional.

O pipeline é definido no modo de avaliação (model.eval()) por padrão.

Exemplos:

>>> 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

classe diffusers.AutoPipelineForText2Audio

< >

( *args**kwargs )

AutoPipelineForText2Audio é uma classe de pipeline genérica que instancia uma classe de pipeline de texto para áudio. A classe de pipeline subjacente específica é selecionada automaticamente a partir dos métodos from_pretrained() ou from_pipe().

Esta classe não pode ser instanciada usando __init__() (lança um erro).

Atributos de classe:

  • config_name (str) — O nome do arquivo de configuração que armazena os nomes de classe e módulo de todos os componentes do pipeline de difusão.

from_pretrained

< >

( pretrained_model_or_path**kwargs )

Parâmetros

  • pretrained_model_or_path (str ou os.PathLike, opcional) — Pode ser:
    • Uma string, o repo id (por exemplo, stabilityai/stable-audio-open-1.0) de um pipeline pré-treinado hospedado no Hub.
    • Um caminho para um diretório (por exemplo, ./my_pipeline_directory/) contendo pesos de pipeline salvos usando save_pretrained().
  • dtype (torch.dtype, opcional) — Substitui o torch.dtype padrão e carrega o modelo com outro dtype.
  • force_download (bool, opcional, padrão False) — Se deve forçar o (re-)download dos pesos do modelo e dos arquivos de configuração, sobrescrevendo as versões em cache, caso existam.
  • cache_dir (str | os.PathLike, opcional) — Caminho para um diretório onde a configuração de um modelo pré-treinado baixado é armazenada em cache, caso o cache padrão não seja utilizado.
  • proxies (dict[str, str], opcional) — Um dicionário de servidores proxy a serem usados por protocolo ou endpoint, por exemplo, {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Os proxies são usados em cada solicitação.
  • output_loading_info(bool, opcional, padrão False) — Indica se deve ou não retornar também um dicionário contendo chaves ausentes, chaves inesperadas e mensagens de erro.
  • local_files_only (bool, opcional, padrão False) — Se deve carregar apenas os pesos e arquivos de configuração do modelo localmente. Se definido como True, o modelo não será baixado do Hub.
  • token (str ou bool, opcional) — O token a ser usado como autorização de bearer HTTP para arquivos remotos. Se True, o token gerado por diffusers-cli login (armazenado em ~/.huggingface) é utilizado.
  • revision (str, opcional, padrão "main") — A versão específica do modelo a ser usada. Pode ser o nome de um branch, o nome de uma tag, um id de commit ou qualquer identificador permitido pelo Git.
  • custom_revision (str, opcional, padrão "main") — A versão específica do modelo a ser usada. Pode ser um nome de branch, um nome de tag ou um id de commit, semelhante a revision ao carregar um pipeline personalizado do Hub. Pode ser uma versão do 🤗 Diffusers ao carregar um pipeline personalizado do GitHub; caso contrário, o padrão é "main" ao carregar do Hub.
  • mirror (str, opcional) — Espelho de origem para resolver problemas de acessibilidade se você estiver baixando um modelo na China. Não garantimos a atualidade ou a segurança da origem, e você deve consultar o site do espelho para obter mais informações.
  • device_map (str ou dict[str, int | str | torch.device], opcional) — Um mapa que especifica para onde cada submódulo deve ser enviado. Não é necessário defini-lo para cada nome de parâmetro/buffer; uma vez que um determinado nome de módulo esteja incluído, todos os seus submódulos serão enviados para o mesmo dispositivo.

    Defina device_map="auto" para que o 🤗 Accelerate calcule automaticamente o device_map mais otimizado. Para mais informações sobre cada opção, consulte projetando um mapa de dispositivos.

  • max_memory (Dict, opcional) — Um dicionário com o identificador do dispositivo para a memória máxima. Se não for definido, o padrão será a memória máxima disponível para cada GPU e a RAM disponível na CPU.
  • offload_folder (str ou os.PathLike, opcional) — O caminho para descarregar os pesos se device_map contiver o valor "disk".
  • offload_state_dict (bool, opcional) — Se True, descarrega temporariamente o state dict da CPU para o disco rígido para evitar a falta de RAM da CPU caso o peso do state dict da CPU + o maior shard do checkpoint não caiba. O padrão é True quando há algum offload de disco.
  • low_cpu_mem_usage (bool, opcional, padrão True se a versão do torch >= 1.9.0, caso contrário False) — Acelera o carregamento do modelo carregando apenas os pesos pré-treinados e não inicializando os pesos. Isso também tenta não usar mais do que 1x o tamanho do modelo na memória de CPU (incluindo a memória de pico) durante o carregamento do modelo. Suportado apenas para PyTorch >= 1.9.0. Se você estiver usando uma versão mais antiga do PyTorch, definir este argumento como True causará um erro.
  • use_safetensors (bool, opcional, padrão None) — Se definido como None, os pesos em safetensors são baixados se estiverem disponíveis e se a biblioteca safetensors estiver instalada. Se definido como True, o modelo é carregado forçadamente a partir dos pesos em safetensors. Se definido como False, os pesos em safetensors não são carregados.
  • kwargs (dicionário restante de argumentos de palavra-chave, opcional) — Pode ser usado para sobrescrever variáveis de carregamento e salvamento (os componentes do pipeline da classe de pipeline específica). Os componentes sobrescritos são passados diretamente para o método __init__ dos pipelines. Veja o exemplo abaixo para mais informações.
  • variant (str, opcional) — Carrega os pesos de um nome de arquivo de variante especificado, como "fp16" ou "ema".

Instancia um pipeline de difusão Pytorch de texto para áudio a partir de pesos de pipeline pré-treinados.

O método from_pretrained() cuida de retornar a instância da classe de pipeline correta por meio de:

  1. Detecte a classe de pipeline do pretrained_model_or_path com base na propriedade _class_name do seu objeto config
  2. Encontre o pipeline de texto para áudio vinculado à classe de pipeline usando correspondência de padrões no nome da classe de pipeline.

O pipeline é definido no modo de avaliação (model.eval()) por padrão.

> Para usar modelos privados ou com acesso restrito, faça login com hf > auth login.

Exemplos:

>>> 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) — um objeto DiffusionPipeline instanciado

Instancia um pipeline de difusão Pytorch de texto para áudio a partir de outra classe de pipeline de difusão instanciada.

O método from_pipe() se encarrega de retornar a instância correta da classe de pipeline, localizando o pipeline de texto para áudio vinculado à classe de pipeline por meio de correspondência de padrões no nome da classe de pipeline.

Todos os módulos contidos no pipeline serão usados para inicializar o novo pipeline sem alocar memória adicional.

O pipeline é definido no modo de avaliação (model.eval()) por padrão.

>>> 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