Open ablaom opened 1 year ago
NNlib is used in a couple of places in https://github.com/JuliaML/MLUtils.jl/blob/main/src/utils.jl, but I don't think those would be too difficult to change or vendor the functions used.
Yes, it would be nice to excise the NNlib dependency. Its functionality is used in
chunk
rpad_constant
so we could move those functions to NNlib.
Anyone have some time to revisit this?
The biggest blocker is still what to use in place of NNlib.scatter
for https://github.com/JuliaML/MLUtils.jl/blob/09c87f7097536384cea0a132aa0012679df18175/src/utils.jl#L201. Vendoring scatter
won't help since it depends on KernelAbstractions.
It'd also be worth redoing the import timings since the JuliaFolds packages have changed ownership and received some bugfixes since this issue was originally opened.
Related (duplication?): https://github.com/JuliaML/MLUtils.jl/issues/90
I am increasingly relying on the
getobs
/nobs
interface in quite low-level packages I am working on. It's nice to be able to work generically with tables and arrays. But I only need this basic API and simple things likeeachobs
. I'm finding MLUtils.jl rather heavy for this purpose (46s precompile/load on julia 1.9).Are there any plans for factoring out base functionality or moving stuff out to weak dependencies?
I see that
StaticArrays
constributes lot to load times. The dependency here isNNlib -> KernelAbstractions -> StaticArrays
. What's in NNlib that's needed here? (Maybe KernelAbstractions only needsStaticArraysCore
?)