Skip to main content

A ML logger package

Project description

Machine Learning LogWriter

ML LogWriter: Biblioteca para Registro de Logs e Armazenamento de Artefatos

Descrição

O ML LogWriter é uma biblioteca Python de código aberto disponibilizada que visa facilitar o registro de logs de execução de código e o armazenamento de artefatos de modelos em projetos de aprendizado de máquina e experimentos de ciência de dados.

Com duas classes principais, LogWriter e LogArtifacts, essa biblioteca oferece uma solução simples e eficiente para acompanhar o desempenho de modelos e registrar informações essenciais durante o desenvolvimento de projetos.

Módulos

LogWriter:

A classe LogWriter é responsável por registrar logs de execução em dois locais simultaneamente: em um arquivo de log e no terminal. Suas principais funcionalidades incluem:

Registro detalhado de eventos: Possibilita registrar informações relevantes em diferentes níveis de detalhe (por exemplo, INFO, WARNING, ERROR) para auxiliar na depuração e monitoramento da execução do código.

  • Armazenamento em arquivo: Registra as informações em um arquivo de log, permitindo revisitar eventos passados e manter um histórico de execuções.
  • Saída no terminal: Exibe informações importantes diretamente no terminal, facilitando o acompanhamento do progresso do código em tempo real.

Exemplo de uso do módulo LogWriter:

# Importando a classe LogWriter do módulo
from ml_logwriter.loggers import LogWriter

# Criando uma instância da classe LogWriter e definindo o caminho para o arquivo de log
log_writer = LogWriter()
log_path = 'logs/log_file.txt'

# Obtendo o logger para fazer os registros de log
logger = log_writer.logger(log_path)

# Exemplo de uso do logger para fazer registros de log
logger.debug("Debug message: This is a debug log.")
logger.info("Info message: This is an info log.")
logger.warning("Warning message: This is a warning log.")
logger.error("Error message: This is an error log.")
logger.critical("Critical message: This is a critical log.")

LogArtifacts:

A classe LogArtifacts foi desenvolvida para armazenar e organizar artefatos essenciais de experimentos e modelos. Suas principais funcionalidades incluem:

  • Armazenamento de modelos e metadados: Permite salvar modelos treinados juntamente com metadados relevantes, como hiperparâmetros e métricas de desempenho.
  • Gerenciamento de experimentos: Organiza os resultados de experimentos em uma estrutura de diretórios clara e consistente, facilitando a localização e comparação entre diferentes iterações de modelos.
  • Armazenamento de dados e gráficos: Além dos modelos, a classe LogArtifacts é capaz de armazenar outros artefatos, como conjuntos de dados, gráficos de desempenho e imagens relevantes para a análise dos resultados.

Exemplo de Uso do Módulo LogArtifacts:

# Importando a classe LogArtifacts do módulo
from ml_logwriter.loggers import LogArtifacts

# Criando uma instância da classe LogArtifacts e definindo o caminho para o diretório de artefatos (já existente)
artifacts_path = 'artifacts'

# Criando um novo diretório de artefatos (experimento)
experiment = LogArtifacts(artifacts_path)
experiment.create()

# Exemplo de uso da classe LogArtifacts para registrar parâmetros, métricas, modelo e dataset
parameters = {'learning_rate': 0.01, 'batch_size': 32, 'num_epochs': 50}
metrics = {'accuracy': 0.85, 'precision': 0.78, 'recall': 0.92}
model = 'Trained Model Object'
dataset = pd.DataFrame({'feature1': [1, 2, 3], 'feature2': [4, 5, 6]})

experiment.log_parameters(parameters)
experiment.log_metrics(metrics)
experiment.log_model(model)
experiment.log_dataset(dataset, 'example_dataset')

# Criando um gráfico de desempenho (exemplo com valores aleatórios)
x_values = [1, 2, 3, 4, 5]
y_values = [0.9, 0.85, 0.78, 0.75, 0.72]
experiment.log_performance_graph(x_values, y_values, title='Model Performance',
                                 x_label='Epoch', y_label='Accuracy', filename='accuracy_graph')

# Após executar o código acima, você verá os artefatos salvos no diretório 'artifacts' com os resultados do experimento.

Principais Benefícios

  • Facilidade de Uso: Com uma interface intuitiva, a biblioteca permite que desenvolvedores e cientistas de dados incorporem facilmente a funcionalidade de registro de logs e armazenamento de artefatos em seus projetos.
  • Organização e Rastreabilidade: O ML LogWriter facilita a organização de experimentos e a rastreabilidade de modelos, permitindo que os usuários acessem informações históricas e comparem resultados de forma sistemática.
  • Colaboração Eficiente: Ao armazenar artefatos e logs em arquivos, a biblioteca possibilita a colaboração entre membros da equipe, uma vez que todos os envolvidos podem compartilhar informações e resultados relevantes.
  • Melhoria no Processo de Desenvolvimento: Com o registro detalhado de logs e a capacidade de armazenar artefatos, o ML LogWriter auxilia no processo de depuração, otimização de modelos e tomada de decisões com base em métricas objetivas.

Instalação

pip install ml-logwriter

Requisitos

O ML LogWriter requer a instalação das bibliotecas Python necessárias para funcionar corretamente.

DateTime==5.2
joblib==1.3.1
logging==0.4.9.6
pytz==2023.3
zope.interface==6.0
matplotlib==3.7.0

Ou instale executando:

pip install -r requirements.txt

Contribuição e Licença:

A biblioteca ML LogWriter é de código aberto e é incentivada a contribuição da comunidade para o seu aprimoramento. Ela está licenciada sob a Licença MIT, garantindo liberdade de uso e modificação para qualquer projeto, seja comercial ou não.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ml_logwriter-0.2.3.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ml_logwriter-0.2.3-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file ml_logwriter-0.2.3.tar.gz.

File metadata

  • Download URL: ml_logwriter-0.2.3.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for ml_logwriter-0.2.3.tar.gz
Algorithm Hash digest
SHA256 b7d34b420e303338f7a1e50e662796759d08cb6fc6e48fb1ae05d2abd47de2d6
MD5 abcf2e5faf1191bf252eb6e2bb7ef8ff
BLAKE2b-256 741cf956bb91616381ba2bd129351a6199a17d2603640f23ea2b6fb52b22eb89

See more details on using hashes here.

File details

Details for the file ml_logwriter-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: ml_logwriter-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for ml_logwriter-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e9401f2bf5f798e07c442de13c81fd73115d64140cf7d3433646883912514e45
MD5 2ccd3589a69c050f70b338607be47b69
BLAKE2b-256 613f2e429da4b60e711c5d41879b5cda434545bbbfa04b5ae7390da21d10ca14

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page