Michael Abbott
Michael Abbott
I don't know that there's a useful summary count, but I do think discussing particular examples is good, else it's easy to talk past each other. (Although I'm not sure...
That's not the most helpful message, I agree! What produced this?
`@scalar_rule` now defines `derivatives_given_output` which seems like a good way to implement both broadcasting and things like `sum(f, x)`. One question is whether it should do more to help with...
I don't love the name. One reason for the apparent double negative is that the present implementation fails to `false`. It answers the question "are we certain we can take...
Latest commit changes this to return a type, not a function. This means you test `differential_type(x)
It does assume they are AbstractVectors; I see that the name-less constructor has an explicit check: ```julia julia> table = KeyedArray(rand(3,3), ([1,2,3], (:cv_diff, :se_cv_diff, :weight))) ERROR: ArgumentError: key vectors must...
Thanks, I can reproduce this, it's a bug of some sort.
I think we should do something like the first fix. The whole constructor function can be dispatch not branching, without loss, it just happened to get written that way: https://github.com/JuliaDiff/ChainRulesCore.jl/blob/master/src/projection.jl#L181-L188...
ChainRulesCore v1.3.1, latest, has the above branch-free construction of projectors, but still has `if hasproperty(project, :element)` in applying them. If I try the linked gist, on latest everything (CUDA v3.4.2)...
I get a different error, for the Flux case: ``` julia> chain_f''(1.) ERROR: Control flow support not fully implemented yet for higher-order reverse mode (TODO) Stacktrace: [1] error(s::String) @ Base...