KernelFunctions.jl
KernelFunctions.jl copied to clipboard
Julia package for kernel functions for machine learning
It is sometimes useful (at least in my own work) to make posterior predictions of the derivative of a process or to make predictions of a process based on observations...
Now that testing methods for MOKernels ara available maybe we can improve the code here: https://github.com/JuliaGaussianProcesses/KernelFunctions.jl/blob/4569859cef362ef3c1fe3848290bfb090a7ee0f1/test/mokernels/slfm.jl#L33
Maybe this type of Kernels should all implement such a method. Following this comment https://github.com/JuliaGaussianProcesses/KernelFunctions.jl/pull/263#discussion_r641687524 .
It is unclear to me why `set!` and `duplicate` are needed. Could they be removed?
The Gabor kernel constantly but randomly fails the CI tests. We should investigate if we can make a more stable implementation or something similar.
There's currently an implementation of the NeuralKernelNetwork kernel [here](https://github.com/JuliaGaussianProcesses/Stheno.jl/blob/master/src/flux/neural_kernel_network.jl) in Stheno.jl. Would anyone object to me moving it here? (I'm trying to remove Stheno's explicit dependency on KernelFunctions.jl)
1. `iskroncompatible` appears to be incorrectly implemented in a couple of places. For example, I don't believe that an `ExponentialKernel` should not be marked as compatible, or have I misunderstood...
Functors 0.2 allows to specify only a subset of numerical fields, maybe the implementation could be updated. _Originally posted by @devmotion in https://github.com/JuliaGaussianProcesses/KernelFunctions.jl/issues/246#issuecomment-765904249_
We need to use ChainCoreTestUtils to test our new rrule/frule
It looks like we've got a performance bug in the above. Specifically, the primal looks to be fine: ```julia julia> @benchmark kernelmatrix(SEKernel(), $(randn(100))) BenchmarkTools.Trial: memory estimate: 158.25 KiB allocs estimate:...