Question: explanation of fit_gpytorch_mll #1433
-
In Is it possible someone can point me in the right direction, or explain what Thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments
-
What kind of model are you using? Have you used @j-wilson can provide more detail on this, but at a high level |
Beta Was this translation helpful? Give feedback.
-
Yes. To be totally honest it wasn't clear what that was doing either. But with It is true that this is not necessarily information that I need to know specifically, but I would really like to know what types of fitting procedure |
Beta Was this translation helpful? Give feedback.
-
This is basically implementing a multiple dispatch pattern, where you can register different implementations of the fitting procedure depending on the type of MLL, likelihood, and model at hand. @j-wilson can shed some more light on the specific implementation.
At a high level, what happens under the hood (here or in |
Beta Was this translation helpful? Give feedback.
-
Hi @x94carbone, happy to explain what I can. Below, I've provided some details on how the dispatcher works and outlined how parameters (here: keyword arguments) are exposed in the updated API.
If the mll's signature matches a registered subroutine
*The dispatcher is usually responsible for calling
Additionally, note that each subroutine is responsible for documenting its own keyword arguments and similarly for ** |
Beta Was this translation helpful? Give feedback.
-
Hi all, that really helps, thank you. IMO you should consider adding some of this text into the documentation. I can't be the only one who is curious! |
Beta Was this translation helpful? Give feedback.
Hi @x94carbone, happy to explain what I can. Below, I've provided some details on how the dispatcher works and outlined how parameters (here: keyword arguments) are exposed in the updated API.
fit_gpytorch_mll
uses multiple dispatching to determine "what to do" with a given mll. When called,fit_gpytorch_mll
identifies mll instances according to the tupletype(mll), type(mll.likelihood), type(mll.model)
. This "signature" gets compared with the signatures used to register subroutines via thedispatcher.register
mechanic. The dispatcher is responsible* for comparing these signatures and determining the most appropriate choice of subroutine for a given mll.If the mll's signature…