# Registro

🤗 Transformers tiene un sistema de registro centralizado, por lo que puedes configurar la verbosidad de la biblioteca fácilmente.

Actualmente, el nivel de detalle predeterminado de la biblioteca es `WARNING`.

Para cambiar el nivel de verbosidad, basta con usar uno de los setters directos. Por ejemplo, así se cambia la verbosidad al nivel INFO.

```python
import transformers

transformers.logging.set_verbosity_info()
```

También puede usar la variable de entorno `TRANSFORMERS_VERBOSITY` para anular la verbosidad predeterminada. Puede configurarla con uno de los siguientes valores: `debug`, `info`, `warning`, `error`, `critical`, `fatal`. Por ejemplo:

```bash
TRANSFORMERS_VERBOSITY=error ./myprogram.py
```

Además, algunas `warnings` se pueden desactivar estableciendo la variable de entorno `TRANSFORMERS_NO_ADVISORY_WARNINGS` en un valor verdadero, como *1*. Esto desactivará cualquier advertencia registrada mediante `logger.warning_advice`. Por ejemplo:

```bash
TRANSFORMERS_NO_ADVISORY_WARNINGS=1 ./myprogram.py
```

A continuación se muestra un ejemplo de cómo usar el mismo registrador que la biblioteca en su propio módulo o script:

```python
from transformers.utils import logging

logging.set_verbosity_info()
logger = logging.get_logger("transformers")
logger.info("INFO")
logger.warning("WARN")
```

Todos los métodos de este módulo de registro se documentan a continuación. Los principales son [logging.get_verbosity()](/docs/transformers/main/es/main_classes/logging#transformers.utils.logging.get_verbosity) para obtener el nivel de verbosidad actual del registrador y [logging.set_verbosity()](/docs/transformers/main/es/main_classes/logging#transformers.utils.logging.set_verbosity) para establecer la verbosidad en el nivel que desee. En orden (de menos a más verboso), esos niveles (con sus valores int correspondientes entre paréntesis) son:

- `transformers.logging.CRITICAL` o `transformers.logging.FATAL` (valor entero, 50): solo informa sobre los errores más críticos.
- `transformers.logging.ERROR` (valor int, 40): solo informa sobre errores.
- `transformers.logging.WARNING` o `transformers.logging.WARN` (valor entero, 30): solo informa sobre errores y advertencias. Este es el nivel predeterminado utilizado por la biblioteca.
- `transformers.logging.INFO` (valor int, 20): informa sobre errores, advertencias e información básica.
- `transformers.logging.DEBUG` (valor int, 10): informa toda la información.

Por defecto, las barras de progreso de `tqdm` se mostrarán durante la descarga del modelo. [logging.disable_progress_bar()](/docs/transformers/main/es/main_classes/logging#transformers.utils.logging.disable_progress_bar) y [logging.enable_progress_bar()](/docs/transformers/main/es/main_classes/logging#transformers.utils.logging.enable_progress_bar) se pueden usar para suprimir o reactivar este comportamiento.

## `logging` frente a `warnings`[[transformers.utils.logging.captureWarnings]]

Python cuenta con dos sistemas de registro que suelen usarse en conjunto: `logging`, descrito anteriormente, y `warnings`, que permite clasificar las advertencias en categorías específicas, por ejemplo, `FutureWarning` para una función o ruta que ya está en desuso y `DeprecationWarning` para indicar una futura obsolescencia.

Utilizamos ambos en la biblioteca `transformers`. Aprovechamos y adaptamos el método `captureWarnings` de `logging` para permitir la gestión de estos mensajes de advertencia mediante los configuradores de verbosidad anteriores.

¿Qué significa eso para los desarrolladores de la biblioteca? Deberíamos respetar las siguientes heurísticas:

- `warnings` deben ser preferidos por los desarrolladores de la biblioteca y de las bibliotecas dependientes de `transformers`
- `logging` debe usarse para los usuarios finales de la biblioteca que la emplean en proyectos cotidianos

Vea la referencia del método `captureWarnings` a continuación.

#### transformers.utils.logging.captureWarnings[[transformers.utils.logging.captureWarnings]]

```python
transformers.utils.logging.captureWarnings(capture)
```

[Fuente](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L136)

Llama al método `captureWarnings` de la biblioteca de registro para habilitar la gestión de las advertencias emitidas por la biblioteca `warnings`.

Puedes leer más sobre este método aquí: https://docs.python.org/3/library/logging.html#integration-with-the-warnings-module

Todas las advertencias se registrarán a través del registrador `py.warnings`.

Atención: este método también agrega un manejador a este registrador si aún no tiene uno, y actualiza el nivel de registro de ese registrador al del registrador raíz de la biblioteca.

## Configuradores base[[transformers.utils.logging.set_verbosity_error]]

#### transformers.utils.logging.set_verbosity_error[[transformers.utils.logging.set_verbosity_error]]

```python
transformers.utils.logging.set_verbosity_error()
```

[Fuente](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L230)

Establezca la verbosidad en el nivel `ERROR`.

#### transformers.utils.logging.set_verbosity_warning[[transformers.utils.logging.set_verbosity_warning]]

```python
transformers.utils.logging.set_verbosity_warning()
```

[Fuente](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L220)

Establezca la verbosidad en el nivel `WARNING`.

#### transformers.utils.logging.set_verbosity_info[[transformers.utils.logging.set_verbosity_info]]

```python
transformers.utils.logging.set_verbosity_info()
```

[Fuente](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L215)

Establezca la verbosidad en el nivel `INFO`.

#### transformers.utils.logging.set_verbosity_debug[[transformers.utils.logging.set_verbosity_debug]]

```python
transformers.utils.logging.set_verbosity_debug()
```

[Fuente](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L225)

Establezca la verbosidad en el nivel `DEBUG`.

## Otras funciones[[transformers.utils.logging.get_verbosity]]

#### transformers.utils.logging.get_verbosity[[transformers.utils.logging.get_verbosity]]

```python
transformers.utils.logging.get_verbosity()
```

[Fuente](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L173)

**Devuelve:** `int`

El nivel de registro.

Devuelve el nivel actual del registrador raíz de 🤗 Transformers como un int.

🤗 Transformers tiene los siguientes niveles de registro:

- 50: `transformers.logging.CRITICAL` o `transformers.logging.FATAL`
- 40: `transformers.logging.ERROR`
- 30: `transformers.logging.WARNING` o `transformers.logging.WARN`
- 20: `transformers.logging.INFO`
- 10: `transformers.logging.DEBUG`

#### transformers.utils.logging.set_verbosity[[transformers.utils.logging.set_verbosity]]

```python
transformers.utils.logging.set_verbosity(verbosity: int)
```

[Fuente](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L196)

**Parámetros:**

verbosity (`int`) : Nivel de registro, p. ej., uno de:  - `transformers.logging.CRITICAL` o `transformers.logging.FATAL` - `transformers.logging.ERROR` - `transformers.logging.WARNING` o `transformers.logging.WARN` - `transformers.logging.INFO` - `transformers.logging.DEBUG`

Establece el nivel de verbosidad del registro raíz de 🤗 Transformers.

#### transformers.utils.logging.get_logger[[transformers.utils.logging.get_logger]]

```python
transformers.utils.logging.get_logger(name: str | None = None)
```

[Fuente](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L159)

Devuelve un registrador con el nombre especificado.

Esta función no está destinada a ser accedida directamente, a menos que esté escribiendo un módulo personalizado de transformers.

#### transformers.utils.logging.enable_default_handler[[transformers.utils.logging.enable_default_handler]]

```python
transformers.utils.logging.enable_default_handler()
```

[Fuente](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L244)

Habilite el controlador predeterminado del registro raíz de HuggingFace Transformers.

#### transformers.utils.logging.disable_default_handler[[transformers.utils.logging.disable_default_handler]]

```python
transformers.utils.logging.disable_default_handler()
```

[Fuente](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L235)

Desactiva el controlador predeterminado del registro raíz de HuggingFace Transformers.

#### transformers.utils.logging.enable_explicit_format[[transformers.utils.logging.enable_explicit_format]]

```python
transformers.utils.logging.enable_explicit_format()
```

[Fuente](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L290)

Habilita el formato explícito para cada registro de HuggingFace Transformers. El formateador explícito es el siguiente:
```
    [LEVELNAME|FILENAME|LINE NUMBER] TIME >> MESSAGE
```

Todos los manejadores actualmente vinculados al registro principal se ven afectados por este método.

#### transformers.utils.logging.reset_format[[transformers.utils.logging.reset_format]]

```python
transformers.utils.logging.reset_format()
```

[Fuente](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L305)

Restablece el formato de los registradores de HuggingFace Transformers.

Todos los manejadores actualmente vinculados al registro principal se ven afectados por este método.

#### transformers.utils.logging.enable_progress_bar[[transformers.utils.logging.enable_progress_bar]]

```python
transformers.utils.logging.enable_progress_bar()
```

[Fuente](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L410)

Activar la barra de progreso de tqdm.

#### transformers.utils.logging.disable_progress_bar[[transformers.utils.logging.disable_progress_bar]]

```python
transformers.utils.logging.disable_progress_bar()
```

[Fuente](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L417)

Desactivar la barra de progreso de tqdm.

