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:
hjkl
to navigate left, down, up and right,gG
to go up and down,d
to delete run,space
to preview plot,q
to 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 hashes)