Anton Oresten
Anton Oresten
After some thinking and tinkering, I've concluded that `PermutedDimsArray` works fine. For my use case however, where I use it to define a custom chain rule, I needed to use...
When an array with multiple batch dimensions needs to be transposed for use in `batched_mul`, I found this to work alright: ```julia function batched_mul_transpose1(x::AbstractArray{T1,N}, y::AbstractArray{T2,N}) where {T1,T2,N} batch_size = size(x)[3:end]...
For future reference, I have created [Einops.jl](https://github.com/MurrellGroup/Einops.jl), having high syntax and feature parity with the original Python package. I'm still exploring einsum integration (see https://github.com/MurrellGroup/Einops.jl/issues/3), which is why I stumbled...
I can't seem to find an easy way to stream outputs. Are users meant to manually parse the raw `"data: {...}"` JSON vibe? While tinkering, I found myself using ```julia...
I looked into this. Here's a possible implementation that reshapes the input arrays (referencing the same data): ```julia function batched_mul!(C::AbstractArray{T,N}, A::AbstractArray{ B = randn(40, 50, 30, 60); julia> C =...
Rad — thanks! @jonniedie when you get a chance, would you mind taking a look / merging?
I think this is elegant and useful. I'm working on some improvements to #203. Muon is optimal for linear layers, but doesn't make as much sense for e.g. `Flux.Embedding`, even...
One could do something like: ```julia function fun_rule(model, rule=Muon(), fallback=Adam()) skipped = Base.IdSet{Any}([model.encode.weight, model.decode.weight]) fun(x::AbstractVector) = fallback fun(x::AbstractArray) = x in skipped ? fallback : rule return fun end opt_state...
Per the README: > Support for 64-bit ARM processors (aarch64) is is available with Julia 1.12 which uses LLVM 19. It seems Julia 1.12 is actually using LLVM 18, and...
@maleadt could you have a look when you get the chance?