Not sure I am overseeing something, but the run methods in the algorithms only return the predicted samples - nothing else.
It might be worthwhile to consider refactoring this, so that each python module in the algorithms directory offers to return the obtained posterior. This would entail in pseudo code:
def train(...):
return trained_objects
def infer(...)
return predicted_objects
def run(...):
trained_objects = train(...)
predicted_objects = infer(trained_objects, ...)
return predicted_objects
This refactoring should/would not change the API which is used downstream. It would however allow more analyses on the obtained posterior (mean/median map estimation versus SGD based map estimation etc).
Not sure I am overseeing something, but the
runmethods in thealgorithmsonly return the predicted samples - nothing else.It might be worthwhile to consider refactoring this, so that each python module in the
algorithmsdirectory offers to return the obtained posterior. This would entail in pseudo code:This refactoring should/would not change the API which is used downstream. It would however allow more analyses on the obtained posterior (mean/median map estimation versus SGD based map estimation etc).