@fonnesbeck thanks a lot for your reply. Yes, I am aware the start
and start_sigma
are arguments to pm.fit
.
Unfortunately their description in the docs of pm.fit
were not sufficient for me to understand how they need to be specified, i.e. a specific example for e.g. the model outlined above would be very helpful. I understand that they both are dictionaries of arrays, but it is not clear to me how to find the correct keys and values (or at least shapes of the arrays used as values).
In my “desperation” I started backtracking how those arguments are used in pm.fit
. From what I see in the code we have
i) Add start
and start_sigma
to dictionary inf_kwargs
ii) ADVI(model=model, **inf_kwargs)
iii) KL(MeanField(model=model, **inf_kwargs))
iv) groups = [MeanFieldGroup(None, *args, model=model, **inf_kwargs)]
Group(groups, model=kwargs.get("model"))
I have replaced some super
calls with the explicit type to clarify the nested calls. From that call-stack I wasn’t able to infer how to correctly define start
and start_sigma
and I was hoping that users/developers of pymc
with more familiarity with this part of the code base or initialisation of ADVI in general would be able to shine some light on this.