You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We should at some point change the API to allow vectorization of kernel functions. For example, we would like to do: _kernel = K(X,X) where X is a vector of samples and K is the kernel function. Similarly, _dK_dθ = dK(X,X). That way we will be avoiding the for loops and use Eigen's vectorized functions. In some simple benchmarking that I did, this is the main factor of slowing down our code (especially when optimizing the hyper-parameters of the kernel). The reason we cannot do it in limbo right now is that the kernels provide the following functionality: kernel(x1,x2) and gradient(x1,x2) whereas they should provide kernel(X1,X2) and gradient(X1,X2). We could also provide both functionalities; it is certainly doable with Eigen.
The text was updated successfully, but these errors were encountered:
We should at some point change the API to allow vectorization of kernel functions. For example, we would like to do:
_kernel = K(X,X)
whereX
is a vector of samples andK
is the kernel function. Similarly,_dK_dθ = dK(X,X)
. That way we will be avoiding thefor
loops and use Eigen's vectorized functions. In some simple benchmarking that I did, this is the main factor of slowing down our code (especially when optimizing the hyper-parameters of the kernel). The reason we cannot do it in limbo right now is that the kernels provide the following functionality:kernel(x1,x2)
andgradient(x1,x2)
whereas they should providekernel(X1,X2)
andgradient(X1,X2)
. We could also provide both functionalities; it is certainly doable with Eigen.The text was updated successfully, but these errors were encountered: