Diffusers documentation

AutoModel

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

AutoModel

AutoModel recupera automaticamente a classe de modelo correta do arquivo config.json do checkpoint.

AutoModel

classe diffusers.AutoModel

< >

( *args**kwargs )

from_pretrained

< >

( pretrained_model_or_path: str | os.PathLike | None = None**kwargs )

Parâmetros

  • pretrained_model_name_or_path (str ou os.PathLike, opcional) — Pode ser:
    • Uma string, o id do modelo (por exemplo, google/ddpm-celebahq-256) de um modelo pré-treinado hospedado no Hub.
    • Um caminho para um diretório (por exemplo, ./my_model_directory) contendo os pesos do modelo salvos com save_pretrained().
  • 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.
  • 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.
  • 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.
  • 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.
  • 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 precisa ser definido 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. O padrão é None, o que significa que o modelo será carregado na CPU.

    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.
  • variant (str, opcional) — Carrega os pesos de um arquivo variant especificado, como "fp16" ou "ema".
  • use_safetensors (bool, opcional, padrão None) — Se definido como None, os pesos 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 safetensors. Se definido como False, os pesos safetensors não são carregados.
  • 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.
  • trust_remote_cocde (bool, opcional, padrão False) — Se deve confiar em código remoto

Instanciar um modelo PyTorch pré-treinado a partir de uma configuração de modelo pré-treinado.

O modelo é definido no modo de avaliação - model.eval() - por padrão, e os módulos de dropout são desativados. Para treinar o modelo, defina-o novamente no modo de treinamento com model.train().

> Para usar modelos privados ou com acesso restrito, faça login com hf > auth login. Você também pode ativar o modo especial > “offline” para usar este método em um > ambiente com firewall.

Exemplo:

from diffusers import AutoModel

unet = AutoModel.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5", subfolder="unet")

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.

from_config

< >

( pretrained_model_name_or_path_or_dict: str | os.PathLike | dict | None = None**kwargs )

Parâmetros

  • pretrained_model_name_or_path_or_dict (str, os.PathLike, ou dict) — Pode ser:
    • Uma string, o id do modelo (por exemplo, google/ddpm-celebahq-256) de uma configuração de modelo pré-treinado hospedada no Hub.
    • Um caminho para um diretório (por exemplo, ./my_model_directory) contendo um arquivo de configuração de modelo.
    • Um dicionário de configuração.
  • cache_dir (Union[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.
  • force_download (bool, opcional, padrão False) — Se deve forçar o (re-)download da configuração do modelo, sobrescrevendo a versão em cache, caso exista.
  • proxies (Dict[str, str], opcional) — Um dicionário de servidores proxy a serem usados por protocolo ou endpoint.
  • local_files_only(bool, opcional, padrão False) — Se deve carregar apenas os arquivos de configuração do modelo locais.
  • token (str ou bool, opcional) — O token a ser usado como autorização de bearer HTTP para arquivos remotos.
  • revision (str, opcional, padrão "main") — A versão específica do modelo a ser usada.
  • trust_remote_code (bool, opcional, padrão False) — Se deve confiar em código remoto.
  • 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.

Instancie um modelo a partir de um dicionário de configuração ou de um arquivo de configuração de modelo pré-treinado com pesos aleatórios (nenhum peso pré-treinado é carregado).

Exemplo:

from diffusers import AutoModel

model = AutoModel.from_config("stable-diffusion-v1-5/stable-diffusion-v1-5", subfolder="unet")
Update on GitHub