David Widmann

Results 1463 comments of David Widmann

> @devmotion So applying `grad=false` does not solve the problem, cause one still hit this line when using Zygote : https://github.com/mcabbott/Tullio.jl/blob/93278c6bf0441382fde9c52fedac8dc41e3e4648/src/eval.jl#L52 `nograd` also is not useful because it ignores completely...

Even if it does not fix our specific use case here, I think it deserves a PR. I'll make one later today.

Hmm this works but it does not really help. The current error is gone but since Zygote can't differentiate mutating functions it can't differentiate through it. It's helpful though for...

Thanks for the write-up! It makes me wonder though what exactly the benefits from switching to Tullio would be. Unfortunately, IIRC my PR wouldn't help with the issues that you...

Regarding GPU support, we or some separate package could just restrict our custom pairwise etc implementations such that we only forward specific array types to Distances and handle the rest...

> That sounds more like a temporary solution right? And also a lot more work! I think that's what ideally you want to do. Based on specific traits of arrays...

The Zygote problems with MaternKernel are caused by the fact that the partial derivative of `besselk` with respect to the first argument is defined as `NaN` in https://github.com/JuliaDiff/ChainRules.jl/blob/98c54587257b86cce6eb45f7870a75f897058d21/src/rulesets/packages/SpecialFunctions.jl#L46-L47 (and I...

BTW I found some publication from 2016 with closed-form expressions of the derivatives of the Bessel functions with respect to the order. I opened an issue at https://github.com/JuliaDiff/ChainRules.jl/issues/208 to discuss...

We might want to refactor KernelSum and KernelProd (making them concretely typed and allowing both tuples and vectors of kernels similar to TensorProduct, and probably removing the weights in KernelSum)...

`mapslices` still mutates a temporary array. The linked PR just ensures that > mapslices never modifies the input array. It allocates temporary storage and copies each slice into it before...