A minimal logging utility for machine learning experiments
Project description
MLog
A minimal logging utility for machine learning experiments.
Installation
> pip install pymlog
Logging
import mlog
import random
CONFIG = {'num_epochs': 100}
# Create a new run with an associated configuration
run = mlog.start(run='run_name', config=CONFIG, save='*.py')
# Log seamlessly
for epoch in range(CONFIG['num_epochs']):
loss = random.random() * (1.05 ** (- epoch))
run.log(epoch=epoch, loss=loss)
metric = random.random()
run.log(epoch=epoch, metric=metric)
Quick preview
> mlog plot epoch loss
> mlog plot epoch loss --aggregate median
> mlog plot epoch loss --aggregate median --intervals max
> mlog plot loss metric --scatter
Manage runs
> mlog list
_name num_epochs learning_rate batch_size
_run_id
1 run 100 0.001 32
2 run 100 0.001 32
3 run 100 0.001 32
4 run 100 0.001 32
5 run 100 0.001 32
6 run 100 0.001 32
7 run 100 0.001 32
8 run 100 0.001 32
9 run 100 0.001 32
10 run 100 0.001 32
This command starts an interactive interface where you can use commands like:
hjklto navigate left, down, up and right,gGto go up and down,dto delete run,spaceto preview plot,qto exit.
Plotting
import mlog
import pandas as pd
import matplotlib.pyplot as plt
# Retrieve data
df = mlog.get('epoch', 'loss')
df = df.groupby('epoch').aggregate(['mean', 'min', 'max'])
# Plot data
fig, ax = plt.subplots()
ax.plot(df.index, df.loss['mean'])
ax.fill_between(df.index, df.loss['min'], df.loss['max'], alpha=0.4)
plt.show()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pymlog-0.0.26.tar.gz
(8.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pymlog-0.0.26.tar.gz.
File metadata
- Download URL: pymlog-0.0.26.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4388d50e7146045f896f281243657cc9fdd78ef989ced3356d6388476acae150
|
|
| MD5 |
af3a70e4bfafe9f805d24eafc8f80747
|
|
| BLAKE2b-256 |
aac8123d3d41094212615e06b62834e836c5bf78f0fa18642dabc069f3bbc71a
|
File details
Details for the file pymlog-0.0.26-py3-none-any.whl.
File metadata
- Download URL: pymlog-0.0.26-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
325ee99dc9b3392976f335f6b9d1c5546efdfa628068193fe13d43608574b9d0
|
|
| MD5 |
ed70397d74448e220107462ddd7ee922
|
|
| BLAKE2b-256 |
4eb7908944f87e2d5653c41f1adaac0cc688ebf23cedba8f22748b5a3f1f53a5
|