Diffusers documentation
AutoPipeline
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
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
< source >( pretrained_model_or_path**kwargs )
Parâmetros
- pretrained_model_or_path (
strouos.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().
- Uma string, o repo id (por exemplo,
- dtype (
torch.dtype, opcional) — Substitui otorch.dtypepadrão e carrega o modelo com outro dtype. - force_download (
bool, opcional, padrãoFalse) — 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ãoFalse) — 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ãoFalse) — Se deve carregar apenas os pesos e arquivos de configuração do modelo localmente. Se definido comoTrue, o modelo não será baixado do Hub. - token (
strou bool, opcional) — O token a ser usado como autorização de bearer HTTP para arquivos remotos. SeTrue, o token gerado pordiffusers-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 arevisionao 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 (
stroudict[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 odevice_mapmais 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 (
strouos.PathLike, opcional) — O caminho para descarregar os pesos se device_map contiver o valor"disk". - offload_state_dict (
bool, opcional) — SeTrue, 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 éTruequando há algum offload de disco. - low_cpu_mem_usage (
bool, opcional, padrãoTruese a versão do torch >= 1.9.0, caso contrárioFalse) — 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 comoTruecausará um erro. - use_safetensors (
bool, opcional, padrãoNone) — Se definido comoNone, os pesos em safetensors são baixados se estiverem disponíveis e se a biblioteca safetensors estiver instalada. Se definido comoTrue, o modelo é carregado forçadamente a partir dos pesos em safetensors. Se definido comoFalse, 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:
- Detecte a classe de pipeline do pretrained_model_or_path com base na propriedade _class_name do seu objeto config
- 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.
from_pipe
< source >( pipeline**kwargs )
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
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
< source >( pretrained_model_or_path**kwargs )
Parâmetros
- pretrained_model_or_path (
strouos.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().
- Uma string, o repo id (por exemplo,
- dtype (
stroutorch.dtype, opcional) — Substitui otorch.dtypepadrão e carrega o modelo com outro dtype. - force_download (
bool, opcional, padrãoFalse) — 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ãoFalse) — 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ãoFalse) — Se deve carregar apenas os pesos e arquivos de configuração do modelo localmente. Se definido comoTrue, o modelo não será baixado do Hub. - token (
strou bool, opcional) — O token a ser usado como autorização de bearer HTTP para arquivos remotos. SeTrue, o token gerado pordiffusers-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 arevisionao 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 (
stroudict[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 odevice_mapmais 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 (
strouos.PathLike, opcional) — O caminho para descarregar os pesos se device_map contiver o valor"disk". - offload_state_dict (
bool, opcional) — SeTrue, 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 éTruequando há algum offload de disco. - low_cpu_mem_usage (
bool, opcional, padrãoTruese a versão do torch >= 1.9.0, caso contrárioFalse) — 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 comoTruecausará um erro. - use_safetensors (
bool, opcional, padrãoNone) — Se definido comoNone, os pesos em safetensors são baixados se estiverem disponíveis e se a biblioteca safetensors estiver instalada. Se definido comoTrue, o modelo é carregado forçadamente a partir dos pesos em safetensors. Se definido comoFalse, 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:
- Detecte a classe de pipeline do pretrained_model_or_path com base na propriedade _class_name do seu objeto config
- 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.
from_pipe
< source >( pipeline**kwargs )
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
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
< source >( pretrained_model_or_path**kwargs )
Parâmetros
- pretrained_model_or_path (
strouos.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().
- Uma string, o repo id (por exemplo,
- dtype (
stroutorch.dtype, opcional) — Substitui otorch.dtypepadrão e carrega o modelo com outro dtype. - force_download (
bool, opcional, padrãoFalse) — 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ãoFalse) — 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ãoFalse) — Se deve carregar apenas os pesos e arquivos de configuração do modelo localmente. Se definido comoTrue, o modelo não será baixado do Hub. - token (
strou bool, opcional) — O token a ser usado como autorização de bearer HTTP para arquivos remotos. SeTrue, o token gerado pordiffusers-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 arevisionao 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 (
stroudict[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 odevice_mapmais 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 (
strouos.PathLike, opcional) — O caminho para descarregar os pesos se device_map contiver o valor"disk". - offload_state_dict (
bool, opcional) — SeTrue, 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 éTruequando há algum offload de disco. - low_cpu_mem_usage (
bool, opcional, padrãoTruese a versão do torch >= 1.9.0, caso contrárioFalse) — 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 comoTruecausará um erro. - use_safetensors (
bool, opcional, padrãoNone) — Se definido comoNone, os pesos em safetensors são baixados se estiverem disponíveis e se a biblioteca safetensors estiver instalada. Se definido comoTrue, o modelo é carregado forçadamente a partir dos pesos em safetensors. Se definido comoFalse, 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:
- Detecte a classe de pipeline do pretrained_model_or_path com base na propriedade _class_name do seu objeto config
- 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.
from_pipe
< source >( pipeline**kwargs )
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
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
< source >( pretrained_model_or_path**kwargs )
Parâmetros
- pretrained_model_or_path (
strouos.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().
- Uma string, o repo id (por exemplo,
- dtype (
torch.dtype, opcional) — Substitui otorch.dtypepadrão e carrega o modelo com outro dtype. - force_download (
bool, opcional, padrãoFalse) — 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ãoFalse) — 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ãoFalse) — Se deve carregar apenas os pesos e arquivos de configuração do modelo localmente. Se definido comoTrue, o modelo não será baixado do Hub. - token (
strou bool, opcional) — O token a ser usado como autorização de bearer HTTP para arquivos remotos. SeTrue, o token gerado pordiffusers-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 arevisionao 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 (
stroudict[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 odevice_mapmais 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 (
strouos.PathLike, opcional) — O caminho para descarregar os pesos se device_map contiver o valor"disk". - offload_state_dict (
bool, opcional) — SeTrue, 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 éTruequando há algum offload de disco. - low_cpu_mem_usage (
bool, opcional, padrãoTruese a versão do torch >= 1.9.0, caso contrárioFalse) — 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 comoTruecausará um erro. - use_safetensors (
bool, opcional, padrãoNone) — Se definido comoNone, os pesos em safetensors são baixados se estiverem disponíveis e se a biblioteca safetensors estiver instalada. Se definido comoTrue, o modelo é carregado forçadamente a partir dos pesos em safetensors. Se definido comoFalse, 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:
- Detecte a classe de pipeline do pretrained_model_or_path com base na propriedade _class_name do seu objeto config
- 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
< source >( pipeline**kwargs )
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)