# Configuração

Os agendadores de [SchedulerMixin](/docs/diffusers/v0.43.0/pt/api/schedulers/overview#diffusers.SchedulerMixin) e os modelos de [ModelMixin](/docs/diffusers/v0.43.0/pt/api/models/overview#diffusers.ModelMixin) herdam de [ConfigMixin](/docs/diffusers/v0.43.0/pt/api/configuration#diffusers.ConfigMixin), que armazena todos os parâmetros passados aos seus respectivos métodos `__init__` em um arquivo de configuração JSON.

> [!TIP]
> Para usar modelos privados ou [com acesso restrito](https://huggingface.co/docs/hub/models-gated#gated-models), faça login com `hf auth login`.

## ConfigMixin[[diffusers.ConfigMixin]]

#### diffusers.ConfigMixin[[diffusers.ConfigMixin]]

```python
diffusers.ConfigMixin()
```

[Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/configuration_utils.py#L87)

Classe base para todas as classes de configuração. Todos os parâmetros de configuração são armazenados em `self.config`. Também fornece os métodos [from_config()](/docs/diffusers/v0.43.0/pt/api/configuration#diffusers.ConfigMixin.from_config) e [save_config()](/docs/diffusers/v0.43.0/pt/api/configuration#diffusers.ConfigMixin.save_config) para carregar, baixar e salvar classes que herdam de [ConfigMixin](/docs/diffusers/v0.43.0/pt/api/configuration#diffusers.ConfigMixin).

Atributos de classe:
- **config_name** (`str`) -- Um nome de arquivo sob o qual a configuração deve ser armazenada ao chamar [save_config()](/docs/diffusers/v0.43.0/pt/api/configuration#diffusers.ConfigMixin.save_config) (deve ser sobrescrito pela classe pai).
- **ignore_for_config** (`list[str]`) -- Uma lista de atributos que não devem ser salvos na configuração (deve ser sobrescrito pela subclasse).
- **has_compatibles** (`bool`) -- Indica se a classe possui classes compatíveis (deve ser sobrescrito pela subclasse).
- **_deprecated_kwargs** (`list[str]`) -- Argumentos de palavra-chave que estão obsoletos. Observe que a função `init` deve ter um argumento `kwargs` apenas se pelo menos um argumento estiver obsoleto (deve ser sobrescrito pela subclasse).

#### load_config[[diffusers.ConfigMixin.load_config]]

```python
load_config(pretrained_model_name_or_path: str | os.PathLike, return_unused_kwargs = False, return_commit_hash = False, **kwargs)
```

[Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/configuration_utils.py#L322)

**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 pesos de modelo salvos com [save_config()](/docs/diffusers/v0.43.0/pt/api/configuration#diffusers.ConfigMixin.save_config).

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.

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 os arquivos de configuração do modelo localmente ou não. 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 HTTP bearer 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.

return_unused_kwargs (`bool`, *opcional*, padrão `False) : Se os argumentos de palavra-chave não utilizados da configuração são retornados.

return_commit_hash (`bool`, *optional*, defaults to `False) : Whether the `commit_hash` of the loaded configuration are returned.

**Retorna:** `dict`

Um dicionário de todos os parâmetros armazenados em um arquivo de configuração JSON.

Carregue a configuração de um modelo ou agendador.

#### from_config[[diffusers.ConfigMixin.from_config]]

```python
from_config(config: diffusers.configuration_utils.FrozenDict | dict[str, typing.Any] = None, return_unused_kwargs = False, **kwargs)
```

[Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/configuration_utils.py#L221)

**Parâmetros:**

config (`dict[str, Any]`) : Um dicionário de configuração a partir do qual a classe Python é instanciada. Certifique-se de carregar apenas arquivos de configuração de classes compatíveis.

return_unused_kwargs (`bool`, *opcional*, padrão `False`) : Se os kwargs que não são consumidos pela classe Python devem ser retornados ou não.

kwargs (dicionário restante de argumentos de palavra-chave, *opcional*) : Pode ser usado para atualizar o objeto de configuração (após ser carregado) e iniciar a classe Python. `**kwargs` são passados diretamente para o método `__init__` do agendador/modelo subjacente e, eventualmente, sobrescrevem os argumentos com o mesmo nome em `config`.

**Retorna:** [ModelMixin](/docs/diffusers/v0.43.0/pt/api/models/overview#diffusers.ModelMixin) ou [SchedulerMixin](/docs/diffusers/v0.43.0/pt/api/schedulers/overview#diffusers.SchedulerMixin)

Um objeto de modelo ou agendador instanciado a partir de um dicionário de configuração.

Instanciar uma classe Python a partir de um dicionário de configuração.

Exemplos:

```python
>>> from diffusers import DDPMScheduler, DDIMScheduler, PNDMScheduler

>>> # Download scheduler from huggingface.co and cache.
>>> scheduler = DDPMScheduler.from_pretrained("google/ddpm-cifar10-32")

>>> # Instantiate DDIM scheduler class with same config as DDPM
>>> scheduler = DDIMScheduler.from_config(scheduler.config)

>>> # Instantiate PNDM scheduler class with same config as DDPM
>>> scheduler = PNDMScheduler.from_config(scheduler.config)
```

#### save_config[[diffusers.ConfigMixin.save_config]]

```python
save_config(save_directory: str | os.PathLike, push_to_hub: bool = False, **kwargs)
```

[Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/configuration_utils.py#L177)

**Parâmetros:**

save_directory (`str` ou `os.PathLike`) : Diretório onde o arquivo JSON de configuração é salvo (será criado se não existir).

push_to_hub (`bool`, *opcional*, padrão `False`) : Se deve ou não enviar seu modelo para o Hugging Face Hub após salvá-lo. Você pode especificar o repositório para o qual deseja enviar com `repo_id` (o padrão será o nome de `save_directory` no seu namespace).

kwargs (`dict[str, Any]`, *opcional*) : Argumentos de palavra-chave adicionais passados ao método [push_to_hub()](/docs/diffusers/v0.43.0/pt/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub).

Salve um objeto de configuração no diretório especificado em `save_directory` para que ele possa ser recarregado usando o método de classe [from_config()](/docs/diffusers/v0.43.0/pt/api/configuration#diffusers.ConfigMixin.from_config).

#### to_json_file[[diffusers.ConfigMixin.to_json_file]]

```python
to_json_file(json_file_path: str | os.PathLike)
```

[Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/configuration_utils.py#L647)

**Parâmetros:**

json_file_path (`str` ou `os.PathLike`) : Caminho para o arquivo JSON para salvar os parâmetros de uma instância de configuração.

Salve os parâmetros da instância de configuração em um arquivo JSON.

#### to_json_string[[diffusers.ConfigMixin.to_json_string]]

```python
to_json_string()
```

[Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/configuration_utils.py#L602)

**Retorna:** `str`

String contendo todos os atributos que compõem a instância de configuração em formato JSON.

Serializa a instância de configuração em uma string JSON.

