Learn.jl icon indicating copy to clipboard operation
Learn.jl copied to clipboard

Move PenaltyFunctions and LearningStrategies from build.jl to REQUIRE

Open rdeits opened this issue 8 years ago • 11 comments
trafficstars

(since they've been registered).

I'm not familiar with the JuliaML ecosystem yet, but I believe this is the correct thing to do, given that Pkg.build("Learn") currently gives:

WARNING: PenaltyFunctions is registered in METADATA... it shouldn't be in /home/rdeits/.julia/v0.6/Learn/deps/build.jl
WARNING: LearningStrategies is registered in METADATA... it shouldn't be in /home/rdeits/.julia/v0.6/Learn/deps/build.jl

rdeits avatar May 04 '17 19:05 rdeits

Looks like PenaltyFunctions.jl is v0.6-only. Is the plan to move all of Learn up to v0.6 too?

rdeits avatar May 04 '17 19:05 rdeits

Sooner or later. It will be a while before I devote attention to things like Learn.jl. Currently I am more concerned with implementing the back-end functionality

Evizero avatar May 04 '17 20:05 Evizero

Ok, no problem. Just figured I'd try to fix the situation if I could 😉

rdeits avatar May 04 '17 21:05 rdeits

Thanks for that! Any support is appreciated. Looks like CI is broken given the 0.5 / 0.6 conflict. Does this change work locally for you?

I'd be ok merging this

Evizero avatar May 04 '17 21:05 Evizero

Cloning and building Learn.jl works with this PR on Julia v0.6 (but fails for v0.5) locally. But actually trying to do using Learn fails because Transformations isn't working for me. using Transformations gives:

julia> using Transformations
INFO: Precompiling module Transformations.
WARNING: could not import OnlineStats.Variances into Transformations

WARNING: deprecated syntax "abstract LearnableParams" at /home/rdeits/.julia/v0.6/Transformations/src/params.jl:3.
Use "abstract type LearnableParams end" instead.

WARNING: deprecated syntax "abstract Node{T,N}" at /home/rdeits/.julia/v0.6/Transformations/src/nodes.jl:3.
Use "abstract type Node{T,N} end" instead.

WARNING: deprecated syntax "typealias SumNode{T,N} InputNode{:+,T,N}" at /home/rdeits/.julia/v0.6/Transformations/src/nodes.jl:96.
Use "SumNode{T,N} = InputNode{:+,T,N}" instead.

WARNING: deprecated syntax "typealias ProdNode{T,N} InputNode{:*,T,N}" at /home/rdeits/.julia/v0.6/Transformations/src/nodes.jl:104.
Use "ProdNode{T,N} = InputNode{:*,T,N}" instead.

WARNING: deprecated syntax "typealias CatNode{T,N} InputNode{:cat,T,N}" at /home/rdeits/.julia/v0.6/Transformations/src/nodes.jl:114.
Use "CatNode{T,N} = InputNode{:cat,T,N}" instead.
ERROR: LoadError: LoadError: UndefVarError: Variances not defined
Stacktrace:
 [1] include_from_node1(::String) at ./loading.jl:552
 [2] include(::String) at ./sysimg.jl:14
 [3] include_from_node1(::String) at ./loading.jl:552
 [4] include(::String) at ./sysimg.jl:14
 [5] anonymous at ./<missing>:2
while loading /home/rdeits/.julia/v0.6/Transformations/src/inputnorm.jl, in expression starting on line 6
while loading /home/rdeits/.julia/v0.6/Transformations/src/Transformations.jl, in expression starting on line 176
ERROR: Failed to precompile Transformations to /home/rdeits/.julia/lib/v0.6/Transformations.ji.
Stacktrace:
 [1] compilecache(::String) at ./loading.jl:686
 [2] _require(::Symbol) at ./loading.jl:473
 [3] require(::Symbol) at ./loading.jl:386

rdeits avatar May 04 '17 21:05 rdeits

OnlineStats.Variances no longer exists. I didn't know Transformations was using it.

joshday avatar May 04 '17 21:05 joshday

Most of these affected packages were Tom's brain childs and haven't been updated in a while, since he stepped back a bit from Julia.

I want to update them again, but this will surely take me a while, since I have other packages on my agenda first

If you feel like you have some time and interest to give parts of these problems a shot I'd appreciate the help and promise quick reviews

Evizero avatar May 04 '17 21:05 Evizero

No problem! I'll see what I can do (I've just started some research which may involve playing with neural nets in Julia, so I've got a lot of learning to do). I'll keep trying to fix things as I come across them.

rdeits avatar May 04 '17 21:05 rdeits

@joshday any hints about how to go about fixing this in Transformations?

rdeits avatar May 04 '17 21:05 rdeits

It looks like it's only used in inputnorm.jl. Commenting it out until someone needs it is probably fine since it's already broken. OnlineStats went through some breaking changes since this was written and rewriting InputNorm from scratch is probably easiest than trying to patch it up.

joshday avatar May 04 '17 22:05 joshday

@joshday done, thanks!

rdeits avatar May 05 '17 20:05 rdeits