I'd like to cache some functions to avoid rebuilding models like so:

    @cached
    def train(model, dataparams): ...


model is an (untrained) scikit-learn object and dataparams is a dict.
The @cached annotation forms a SHA checksum out of the parameters of the
function it annotates and returns the previously calculated function result
if the parameters match.

The tricky part here is reliably generating a checksum from the parameters.
Scikit uses Python's pickle (
http://scikit-learn.org/stable/modules/model_persistence.html) but the
pickle library is non-deterministic (same inputs to pickle.dumps yields
differing output! -- *I know*).

So... any suggestions on how to generate checksums from models in python?

Thanks.
- Stuart
_______________________________________________
scikit-learn mailing list
[email protected]
https://mail.python.org/mailman/listinfo/scikit-learn

Reply via email to