pyPESTO icon indicating copy to clipboard operation
pyPESTO copied to clipboard

Mini-batching

Open paulflang opened this issue 4 years ago • 5 comments

I am working with a model for which I expect experimental data under multiple perturbed conditions. To speed up the fitting procedure, I was wondering if there are any plans to implement mini-batching in pyPESTO.

paulflang avatar Apr 18 '20 00:04 paulflang

Not directly planned in the next time (this is what we had parPE for)... However, implementing a rough version of such an optimizer would not be super-complicated. We had that in Matlab-Pesto (DeLOS) as a proof-of-concept back then... Recoding this in Python should be mostly straight-forward... An alternative might be (don't know how easy it would be) to interface some existing packages such as Tensorflow and its optimization routines. However, I think that's maybe not the best for for ODE models...

paulstapor avatar Apr 18 '20 15:04 paulstapor

Back here @paulflang : I was thinking about the mini-batch optimization... If you know any python package, which implements mini-batch optimizers with black-box objective functions (i.e., without assuming a neural net structure), we could try to link that to pyPESTO in a first attempt... Would prefer something implementing Adam and possibly also SAG-type things...

paulstapor avatar May 07 '20 10:05 paulstapor

Tensorflow can do that, just needs an interface to the objective.

FFroehlich avatar May 07 '20 14:05 FFroehlich

Tensorflow can do that, just needs an interface to the objective.

Which we will need anyway for pymc4

FFroehlich avatar May 07 '20 14:05 FFroehlich

Thanks for thinking about that.

If you know any python package, which implements mini-batch optimizers with black-box objective functions (i.e., without assuming a neural net structure), we could try to link that to pyPESTO in a first attempt...

I am afraid, I am not familiar with Python packages that implement mini-batching.

paulflang avatar May 07 '20 15:05 paulflang