Release Notes
We're happy to announce that carefree-learn
released v0.4.x
, which is much clearer, much more unified, and also much more lightweight!
Main Changes
In the v0.3.x
era, Pipeline
s (e.g., MLPipeline
, CVPipeline
) are implemented in a tricky and unpleasant way - they overly depend on inheritance, causing hundreds of thousands of duplicated / unneeded / workaround codes.
Same problems also occur at the data
module: MLData
is powerful but nobody can maintain it, CVData
utilizes third party libraries pretty well but nobody knows how to use it.
In v0.4.x
, we abstracted out the true Pipeline
structure: it should just be a series of Block
s. When it is running, each Block
do its own job. When saving/loading, each Block
saves/loads its own assets.
Under this design, we are able to refactor the original Pipeline
s into a unified one. What's more exciting is that the data
module can also be refactored into the new Pipeline
structure, like this.
Documentation
v0.4.x
is still under heavy development, so currently the documentation is out of date. I'll try to update it ASAP and before that, it might be a good start to look at the examples, which cover quite a few use cases!