Finally, a Python plotting library that can (only) output Line Rider maps!
ML practitioners can experience gradient descent like never before!
With support for all important features of a line graph.
And don't forget interactive plotting in Jupyter Notebooks!
The above plots all use data from the Unit-Scaled Maximal Update Parameterization paper which proposes a more usable version of μP.
pip install lossrider
import pandas as pd
from lossrider import lossrider
# Load a csv that contains columns named "Validation Loss", "Run Count" and "model_type"
data = pd.read_csv("./_data/sweep_df.csv")
# Plot it!
lossrider(
data,
x="Run Count",
y="Validation Loss",
hue="model_type",
xlim=(0.6, 340),
ylim=(3.2, 3.8),
xticks=(1, 10, 100),
yticks=[x/10 for x in range(32, 39)],
width=1000, height=500, fontsize=30,
logx=True, grid=False,
legend=True, legend_loc=(.65, 1),
outfile='maps/sweep_strategies',
)
The above produces the below plot