# Configuración

Los programadores de [SchedulerMixin](/docs/diffusers/v0.43.0/es/api/schedulers/overview#diffusers.SchedulerMixin) y los modelos de [ModelMixin](/docs/diffusers/v0.43.0/es/api/models/overview#diffusers.ModelMixin) heredan de [ConfigMixin](/docs/diffusers/v0.43.0/es/api/configuration#diffusers.ConfigMixin), que almacena todos los parámetros que se pasan a sus respectivos métodos `__init__` en un archivo de configuración JSON.

> [!TIP]
> Para usar modelos privados o [con acceso restringido](https://huggingface.co/docs/hub/models-gated#gated-models), inicie sesión con `hf auth login`.

## ConfigMixin[[diffusers.ConfigMixin]]

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

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

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

Clase base para todas las clases de configuración. Todos los parámetros de configuración se almacenan bajo `self.config`. También proporciona los métodos [from_config()](/docs/diffusers/v0.43.0/es/api/configuration#diffusers.ConfigMixin.from_config) y [save_config()](/docs/diffusers/v0.43.0/es/api/configuration#diffusers.ConfigMixin.save_config) para cargar, descargar y guardar clases que heredan de [ConfigMixin](/docs/diffusers/v0.43.0/es/api/configuration#diffusers.ConfigMixin).

Atributos de clase:
- **config_name** (`str`) -- Un nombre de archivo bajo el cual se debe guardar la configuración al llamar a [save_config()](/docs/diffusers/v0.43.0/es/api/configuration#diffusers.ConfigMixin.save_config) (debe ser sobrescrito por la clase padre).
- **ignore_for_config** (`list[str]`) -- Una lista de atributos que no deben guardarse en la configuración (debe ser sobrescrito por la subclase).
- **has_compatibles** (`bool`) -- Indica si la clase tiene clases compatibles (debe ser sobrescrito por la subclase).
- **_deprecated_kwargs** (`list[str]`) -- Argumentos de palabra clave que están en desuso. Tenga en cuenta que la función `init` solo debe tener un argumento `kwargs` si al menos un argumento está en desuso (debe ser sobrescrito por la subclase).

#### 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)
```

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

**Parámetros:**

pretrained_model_name_or_path (`str` o `os.PathLike`, *opcional*) : Puede ser:  - Una cadena, el *model id* (por ejemplo `google/ddpm-celebahq-256`) de un modelo preentrenado alojado en el Hub. - Una ruta a un *directorio* (por ejemplo `./my_model_directory`) que contenga los pesos del modelo guardados con [save_config()](/docs/diffusers/v0.43.0/es/api/configuration#diffusers.ConfigMixin.save_config).

cache_dir (`str | os.PathLike`, *opcional*) : Ruta a un directorio donde se almacena en caché la configuración de un modelo preentrenado descargado si no se utiliza la caché estándar.

force_download (`bool`, *opcional*, valor predeterminado `False`) : Indica si se debe forzar la (re)descarga de los pesos del modelo y los archivos de configuración, reemplazando las versiones en caché si existen.

proxies (`dict[str, str]`, *opcional*) : Un diccionario de servidores proxy a utilizar por protocolo o punto de acceso, por ejemplo, `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}`. Los proxies se utilizan en cada solicitud.

output_loading_info(`bool`, *opcional*, valor predeterminado `False`) : Indica si se debe devolver también un diccionario que contenga las claves faltantes, las claves inesperadas y los mensajes de error.

local_files_only (`bool`, *opcional*, valor predeterminado `False`) : Indica si se deben cargar únicamente los pesos y archivos de configuración del modelo localmente. Si se establece en `True`, el modelo no se descargará desde el Hub.

token (`str` o *bool*, *opcional*) : El token que se usará como autorización HTTP bearer para archivos remotos. Si es `True`, se utiliza el token generado por `diffusers-cli login` (almacenado en `~/.huggingface`).

revision (`str`, *opcional*, valor predeterminado `"main"`) : La versión específica del modelo que se va a utilizar. Puede ser el nombre de una rama, el nombre de una etiqueta, un id de commit o cualquier identificador permitido por Git.

subfolder (`str`, *opcional*, valor predeterminado `""`) : La ubicación de la subcarpeta de un archivo de modelo dentro de un repositorio de modelos más grande en el Hub o localmente.

return_unused_kwargs (`bool`, *opcional*, valor predeterminado `False) : Si se devuelven los argumentos de palabra clave no utilizados de la configuración.

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

**Devuelve:** `dict`

Un diccionario con todos los parámetros almacenados en un archivo de configuración JSON.

Cargar la configuración de un modelo o programador.

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

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

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

**Parámetros:**

config (`dict[str, Any]`) : Un diccionario de configuración desde el cual se instancia la clase de Python. Asegúrate de cargar solo archivos de configuración de clases compatibles.

return_unused_kwargs (`bool`, *opcional*, por defecto `False`) : Si los kwargs que no son consumidos por la clase de Python deben devolverse o no.

kwargs (resto del diccionario de argumentos de palabra clave, *opcional*) : Se puede usar para actualizar el objeto de configuración (después de que se cargue) e iniciar la clase de Python. `**kwargs` se pasan directamente al método `__init__` del programador/modelo subyacente y, en última instancia, sobrescriben los argumentos con el mismo nombre en `config`.

**Devuelve:** [ModelMixin](/docs/diffusers/v0.43.0/es/api/models/overview#diffusers.ModelMixin) o [SchedulerMixin](/docs/diffusers/v0.43.0/es/api/schedulers/overview#diffusers.SchedulerMixin)

Un objeto de modelo o programador instanciado a partir de un diccionario de configuración.

Instanciar una clase de Python a partir de un diccionario de configuración.

Ejemplos:

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

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

**Parámetros:**

save_directory (`str` o `os.PathLike`) : Directorio donde se guarda el archivo JSON de configuración (se creará si no existe).

push_to_hub (`bool`, *opcional*, por defecto `False`) : Si se sube o no el modelo al Hugging Face Hub después de guardarlo. Puede especificar el repositorio al que desea subirlo con `repo_id` (por defecto, usará el nombre de `save_directory` en su espacio de nombres).

kwargs (`dict[str, Any]`, *opcional*) : Argumentos de palabra clave adicionales que se pasan al método [push_to_hub()](/docs/diffusers/v0.43.0/es/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub).

Guarde un objeto de configuración en el directorio especificado en `save_directory` para que pueda recargarse mediante el método de clase [from_config()](/docs/diffusers/v0.43.0/es/api/configuration#diffusers.ConfigMixin.from_config).

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

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

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

**Parámetros:**

json_file_path (`str` o `os.PathLike`) : Ruta al archivo JSON para guardar los parámetros de una instancia de configuración.

Guarda los parámetros de la instancia de configuración en un archivo JSON.

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

```python
to_json_string()
```

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

**Devuelve:** `str`

Cadena que contiene todos los atributos que componen la instancia de configuración en formato JSON.

Serializa la instancia de configuración en una cadena JSON.

