steppy: lightweight, open-source,
Python library for fast
and reproducible experimentation
Kamil A. Kaczmarek
kamil@neptune.ml
Fast and reproducible
experimentation
Agenda
● Target audience :)
● Technical debt
● Steppy
● Transition to steppy
Target audience
Target audience
Data Scientist
DL/ML
Researcher
run a lot of experiments
works on her research project
Target audience
https://imgs.xkcd.com/comics/machine_learning.png (retrieved Jun 7th, 2018)
Technical debt
Technical debt
Technical debt
Model
development
ML
Infrastructure
● Do you have (simple) reference model (think baseline)?
● What is the impact of each hyperparameter on model
performance?
● Are training procedures reproducible?
● Is your end-to-end pipeline integrated?
● Can you “roll back” to the previous version?
Steppy
Steppy
Step
Transformer
● Execution wrapper over the Transformer
● Represents computational step
● Performs operation on (intermediate) data
Steppy minimal example (1/5)
Steppy minimal example (2/5)
Steppy minimal example (3/5)
Steppy minimal example (4/5)
Steppy minimal example (5/5)
Steppy, model ensemble example
https://github.com/minerva-ml/steppy-examples/blob/master/tutorials/3-adapter_advanced.ipynb
Steppy, text processing example
https://github.com/minerva-ml/open-solution-toxic-comments
Transition to steppy
Transition to steppy
From scratch
By example
● pip3 install steppy
● https://steppy.readthedocs.io
● https://github.com/minerva-ml/steppy-examples
● https://github.com/minerva-ml/open-solution-h
ome-credit
● https://github.com/minerva-ml/open-solution-
mapping-challenge
Summary
Fast and reproducible experimentation
● Simple programming model with Step and Transformer
● No operation outside Step
● Steppy handles model training and testing
● Steppy saves intermediate results
● Steppy saves transformers (especially trained model)
● Steppy visualizes entire graph of computations
● Steppy let’s you exchange particular steps easily
Why do you need steppy?
Thank You
Feel free to contact me:
Your
photo
kamil@neptune.ml
Transition to steppy
From scratch
By example
● pip3 install steppy
● https://steppy.readthedocs.io
● https://github.com/minerva-ml/steppy-examples
● https://github.com/minerva-ml/open-solution-h
ome-credit
● https://github.com/minerva-ml/open-solution-
mapping-challenge

steppy: lightweight, open source, Python library for fast and reproducible experimentation.