Diffusers documentation

Arquivos únicos

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Arquivos únicos

O método from_single_file() permite carregar:

  • um modelo armazenado em um único arquivo, o que é útil se você estiver trabalhando com modelos do ecossistema de difusão, como o Automatic1111, e depender comumente de um layout de arquivo único para armazenar e compartilhar modelos
  • um modelo armazenado em seu layout de distribuição original, o que é útil se você estiver trabalhando com modelos ajustados com outros serviços e quiser carregá-lo diretamente em objetos de modelo e pipelines do Diffusers

Leia o guia Arquivos e layouts de modelos para saber mais sobre o layout multifolder do Diffusers em comparação com o layout de arquivo único, e como carregar modelos armazenados nesses diferentes layouts.

Pipelines suportados

Modelos suportados

FromSingleFileMixin

classe diffusers.loaders.FromSingleFileMixin

< >

( )

Carregue os pesos do modelo salvos no formato .ckpt em um DiffusionPipeline.

from_single_file

< >

( pretrained_model_link_or_path**kwargs )

Parâmetros

  • pretrained_model_link_or_path (str ou os.PathLike, opcional) — Pode ser:
    • Um link para o arquivo .ckpt (por exemplo "https://huggingface.co/<repo_id>/blob/main/<path_to_file>.ckpt") no Hub.
    • Um caminho para um arquivo contendo todos os pesos do pipeline.
  • 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.
  • 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.
  • original_config_file (str, opcional) — O caminho para o arquivo de configuração original que foi usado para treinar o modelo. Se não for fornecido, o arquivo de configuração será inferido a partir do arquivo de checkpoint.
  • config (str, 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 as configurações dos componentes do pipeline no formato Diffusers.
  • disable_mmap (‘bool’, opcional, padrão ‘False’) — Se deve desabilitar o mmap ao carregar um modelo Safetensors. Essa opção pode ter um desempenho melhor quando o modelo está em uma montagem de rede ou em um disco rígido.
  • 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.

Instancie um DiffusionPipeline a partir de pesos de pipeline pré-treinados salvos no formato .ckpt ou .safetensors. O pipeline é definido no modo de avaliação (model.eval()) por padrão.

Exemplos:

>>> from diffusers import StableDiffusionPipeline

>>> # Download pipeline from huggingface.co and cache.
>>> pipeline = StableDiffusionPipeline.from_single_file(
...     "https://huggingface.co/WarriorMama777/OrangeMixs/blob/main/Models/AbyssOrangeMix/AbyssOrangeMix.safetensors"
... )

>>> # Download pipeline from local file
>>> # file is downloaded under ./v1-5-pruned-emaonly.ckpt
>>> pipeline = StableDiffusionPipeline.from_single_file("./v1-5-pruned-emaonly.ckpt")

>>> # Enable float16 and move to GPU
>>> pipeline = StableDiffusionPipeline.from_single_file(
...     "https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5/blob/main/v1-5-pruned-emaonly.ckpt",
...     torch_dtype=torch.float16,
... )
>>> pipeline.to("cuda")

FromOriginalModelMixin

classe diffusers.loaders.FromOriginalModelMixin

< >

( )

Carregue pesos pré-treinados salvos no formato .ckpt ou .safetensors em um modelo.

from_single_file

< >

( pretrained_model_link_or_path_or_dict: str | None = None**kwargs )

Parâmetros

  • pretrained_model_link_or_path_or_dict (str, opcional) — Pode ser:
    • Um link para o arquivo .safetensors ou .ckpt (por exemplo "https://huggingface.co/<repo_id>/blob/main/<path_to_file>.safetensors") no Hub.
    • Um caminho para um arquivo local contendo os pesos do modelo de componente.
    • Um state dict contendo os pesos do modelo do componente.
  • config (str, opcional) —
    • 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 as configurações dos componentes do pipeline no formato Diffusers.
  • subfolder (str, opcional, padrão "") — A localização da subpasta de um arquivo de modelo dentro de um repositório de modelo maior no Hub ou localmente.
  • original_config (str, opcional) — Dicionário ou caminho para um arquivo yaml contendo a configuração do modelo em seu formato original. Se um dicionário for fornecido, ele será usado para inicializar a configuração do modelo.
  • 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.
  • local_files_only (bool, opcional, padrão False) — Se deve carregar apenas os pesos e os 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.
  • low_cpu_mem_usage (bool, opcional, padrão True se a versão do torch >= 1.9.0 e — is_accelerate_available() 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.
  • disable_mmap (‘bool’, opcional, padrão ‘False’) — Se deve desabilitar o mmap ao carregar um modelo Safetensors. Essa opção pode ter um desempenho melhor quando o modelo está em uma montagem de rede ou em um disco rígido, que podem não lidar bem com a natureza de buscas aleatórias (seek) do mmap.
  • kwargs (dicionário restante de argumentos de palavra-chave, opcional) — Pode ser usado para sobrescrever variáveis de carregamento e salvamento (por exemplo, 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.

Instancie um modelo a partir de pesos pré-treinados salvos no formato original .ckpt ou .safetensors. O modelo é definido no modo de avaliação (model.eval()) por padrão.

>>> from diffusers import StableCascadeUNet

>>> ckpt_path = "https://huggingface.co/stabilityai/stable-cascade/blob/main/stage_b_lite.safetensors"
>>> model = StableCascadeUNet.from_single_file(ckpt_path)
Update on GitHub