Awesome
Steppy
What is Steppy?
- Steppy is a lightweight, open-source, Python 3 library for fast and reproducible experimentation.
- Steppy lets data scientist focus on data science, not on software development issues.
- Steppy's minimal interface does not impose constraints, however, enables clean machine learning pipeline design.
What problem steppy solves?
Problems
In the course of the project, data scientist faces two problems:
- Difficulties with reproducibility in data science / machine learning projects.
- Lack of the ability to prepare or extend experiments quickly.
Solution
Steppy address both problems by introducing two simple abstractions: Step
and Tranformer
. We consider it minimal interface for building machine learning pipelines.
Step
is a wrapper over the transformer and handles multiple aspects of the execution of the pipeline, such as saving intermediate results (if needed), checkpointing the model during training and much more.Tranformer
in turn, is purely computational, data scientist-defined piece that takes an input data and produces some output data. Typical Transformers are neural network, machine learning algorithms and pre- or post-processing routines.
Start using steppy
Installation
Steppy requires python3.5
or above.
pip3 install steppy
(you probably want to install it in your virtualenv)
Resources
- :ledger: Documentation
- :computer: Source
- :name_badge: Bugs reports
- :rocket: Feature requests
- :star2: Tutorial notebooks (their repository):
- :arrow_forward: Getting started
- :arrow_forward:Steps with multiple inputs
- :arrow_forward: Advanced adapters
- :arrow_forward: Caching and persistance
- :arrow_forward: Steppy with Keras
Feature Requests
Please send us your ideas on how to improve steppy library! We are looking for your comments here: Feature requests.
Roadmap
:fast_forward: At this point steppy is early-stage library heavily tested on multiple machine learning challenges (data-science-bowl, toxic-comment-classification-challenge, mapping-challenge) and educational projects (minerva-advanced-data-scientific-training).
:fast_forward: We are developing steppy towards practical tool for data scientists who can run their experiments easily and change their pipelines with just few manipulations in the code.
Related projects
We are also building steppy-toolkit, a collection of high quality implementations of the top deep learning architectures -> all of them with the same, intuitive interface.
Contributing
You are welcome to contribute to the Steppy library. Please check CONTRIBUTING for more information.
Terms of use
Steppy is MIT-licensed.