Loguru Tan simple como imprimir, tan flexible como el registro

Loguru Simple as printing, flexible as logging

La solución simple de registro para tu proyecto de ciencia de datos

Imagen del autor

Publicado originalmente en https://mathdatasimplified.com el 17 de julio de 2023.

¿Por qué usar el registro en un proyecto de ciencia de datos?

Los científicos de datos a menudo utilizan la función print para depurar su código. Sin embargo, a medida que aumenta el número de declaraciones print, se vuelve difícil identificar de dónde proviene la salida debido a la falta de números de línea o nombres de funciones.

def encode_data(data: list):    print("Codificar datos")    data_map = {'a': 1, 'b': 2, 'c': 3}    print(f"Mapa de datos: {data_map}")    return [data_map[num] for num in data]def add_one(data: list):    print("Sumar uno")    return [num + 1 for num in data]def process_data(data: list):    print("Procesar datos")    data = encode_data(data)    print(f"Datos codificados: {data}")    data = add_one(data)    print(f"Sumado uno: {data}")process_data(['a', 'a', 'c'])

Salida:

Procesar datosCodificar datosMapa de datos: {'a': 1, 'b': 2, 'c': 3}Datos codificados: [1, 1, 3]Sumar unoSumado uno: [2, 2, 4]

Cuando se pone el código en producción, eliminar manualmente todas las líneas de depuración puede ser una tarea tediosa y propensa a errores.

def encode_data(data: list):    print("Codificar datos")    data_map = {'a': 1, 'b': 2, 'c': 3}    return [data_map[num] for num in data]def add_one(data: list):    print("Sumar uno")    return [num + 1 for num in data]def process_data(data: list):    print("Procesar datos")    data = encode_data(data)    data = add_one(data)process_data(['a', 'a', 'c'])

El registro proporciona la solución perfecta para este problema al permitir que los científicos de datos especifiquen diferentes niveles (depuración, información, advertencia, error) para su salida.

def encode_data(data: list):    logger.info("Codificar datos")    data_map = {'a': 1, 'b': 2, 'c': 3}    logger.debug(f"Mapa de datos: {data_map}")    return [data_map[num] for num in data]def add_one(data: list):    logger.info("Sumar uno")    return [num + 1 for num in data]def process_data(data: list):    logger.info("Procesar datos")    data = encode_data(data)    logger.debug(f"Datos codificados: {data}")    data = add_one(data)…

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

ExLlamaV2 La biblioteca más rápida para ejecutar LLMs

ExLlamaV2 es una biblioteca diseñada para exprimir aún más rendimiento de GPTQ. Gracias a nuevos kernels, está optimi...

Ciencia de Datos

Reinventando la experiencia de los datos Utilice la inteligencia artificial generativa y la arquitectura de datos moderna para desbloquear conocimientos.

Implementar una arquitectura moderna de datos brinda un método escalable para integrar datos de fuentes dispares. Al ...

Inteligencia Artificial

Las 10 principales startups de IA generativa en el mundo

Introducción La inteligencia artificial generativa está atrayendo la curiosidad de personas de todo el mundo. Los per...

Aprendizaje Automático

AI Ve lo que tú Ves Mind's Eye es un Modelo de IA que Puede Reconstruir Escaneos Cerebrales en Imágenes.

Desde hace tiempo, nos ha intrigado el desafío de entender cómo funciona nuestro cerebro. El campo de la neurociencia...

Inteligencia Artificial

La colaboración multi-AI ayuda al razonamiento y la precisión factual en modelos de lenguaje grandes.

Los investigadores utilizan múltiples modelos de IA para colaborar, debatir y mejorar sus habilidades de razonamiento...