Closed cems2 closed 4 years ago
Seems to me that you might not be on the latest Flux
I am using juila 1.2.0 and I installed Flux from it using Pkg.add
summary says: [587475ba] Flux v0.9.0
which is what I dowloaded last week for Mac OS.
so how could I have anything newer?
On Dec 23, 2019, at 9:40 PM, Dhairya Gandhi notifications@github.com wrote:
Seems to me that you might not be on the latest Flux
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/FluxML/Flux.jl/issues/974?email_source=notifications&email_token=ACRAR7WWSY4YR7Q2FV5LBUDQ2GHD7A5CNFSM4J6Z3ACKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHSOW7A#issuecomment-568650620, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACRAR7TQJ2AJLHYZFETCSWTQ2GHD7ANCNFSM4J6Z3ACA.
[587475ba] Flux v0.9.0
On Dec 23, 2019, at 10:30 PM, Charlie Strauss cems@me.com wrote:
I am using 1.2.0
which is what I dowloaded last week for Mac OS.
On Dec 23, 2019, at 9:40 PM, Dhairya Gandhi <notifications@github.com mailto:notifications@github.com> wrote:
Seems to me that you might not be on the latest Flux
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/FluxML/Flux.jl/issues/974?email_source=notifications&email_token=ACRAR7WWSY4YR7Q2FV5LBUDQ2GHD7A5CNFSM4J6Z3ACKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHSOW7A#issuecomment-568650620, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACRAR7TQJ2AJLHYZFETCSWTQ2GHD7ANCNFSM4J6Z3ACA.
Aha! Looked at the source code for Flux v0.9.0 and it uses @treelike instead of @functor.
I am now installing Julia 1.3 and it is dragging along the Flux 0.10.0 version. This source code does have @functor instead of @treelike.
Cool! Good to close for now if things look alright. Of course, feel free to raise a an issue if something doesn't work as expected :)
Argggg!!! help!!! After switching to v1.3 julia and readding the packages, now two other packages are broken! this is even worse of a problem than the missing functor in v1.2 and the packages will not load.
DifferentialEquations and DiffEqFlux now give errors in Julia 1.3.0
Errors are some sort of missing Tracker module
I read close issue on Tracker dependency (#695) and the fix there was to add Tracker. But I did this and it does not fix the problem
v1.3) pkg> status
Status ~/.julia/environments/v1.3/Project.toml
[aae7a2af] DiffEqFlux v0.4.0
[0c46a032] DifferentialEquations v6.6.0
[587475ba] Flux v0.10.0
[7073ff75] IJulia v1.20.2
[91a5bcdd] Plots v0.28.4
[9f7883ad] Tracker v0.2.6
julia> using DifferentialEquations
┌ Warning: Error requiring Flux from ArrayInterface:
│ UndefVarError: Tracker not defined
│ Stacktrace:
│ [1] getproperty(::Module, ::Symbol) at ./Base.jl:13
│ [2] top-level scope at /Users/cems/.julia/packages/ArrayInterface/qMMsu/src/ArrayInterface.jl:32
│ [3] eval at ./boot.jl:330 [inlined]
│ [4] eval at /Users/cems/.julia/packages/ArrayInterface/qMMsu/src/ArrayInterface.jl:1 [inlined]
│ [5] (::ArrayInterface.var"#9#18")() at /Users/cems/.julia/packages/Requires/9Jse8/src/require.jl:67
│ [6] err(::ArrayInterface.var"#9#18", ::Module, ::String) at /Users/cems/.julia/packages/Requires/9Jse8/src/require.jl:38
│ [7] #8 at /Users/cems/.julia/packages/Requires/9Jse8/src/require.jl:66 [inlined]
│ [8] withpath(::ArrayInterface.var"#8#17", ::String) at /Users/cems/.julia/packages/Requires/9Jse8/src/require.jl:28
│ [9] #7 at /Users/cems/.julia/packages/Requires/9Jse8/src/require.jl:65 [inlined]
│ [10] listenpkg(::ArrayInterface.var"#7#16", ::Base.PkgId) at /Users/cems/.julia/packages/Requires/9Jse8/src/require.jl:13
│ [11] macro expansion at /Users/cems/.julia/packages/Requires/9Jse8/src/require.jl:64 [inlined]
│ [12] __init__() at /Users/cems/.julia/packages/ArrayInterface/qMMsu/src/ArrayInterface.jl:31
│ [13] _include_from_serialized(::String, ::Array{Any,1}) at ./loading.jl:692
│ [14] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:776
│ [15] _tryrequire_from_serialized(::Base.PkgId, ::UInt64, ::String) at ./loading.jl:707
│ [16] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:765
│ [17] _tryrequire_from_serialized(::Base.PkgId, ::UInt64, ::String) at ./loading.jl:707
│ [18] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:765
│ [19] _require(::Base.PkgId) at ./loading.jl:1001
│ [20] require(::Base.PkgId) at ./loading.jl:922
│ [21] require(::Module, ::Symbol) at ./loading.jl:917
│ [22] eval(::Module, ::Any) at ./boot.jl:330
│ [23] eval_user_input(::Any, ::REPL.REPLBackend) at /Users/sabae/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.3/REPL/src/REPL.jl:86
│ [24] macro expansion at /Users/sabae/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.3/REPL/src/REPL.jl:118 [inlined]
│ [25] (::REPL.var"#26#27"{REPL.REPLBackend})() at ./task.jl:333
└ @ Requires ~/.julia/packages/Requires/9Jse8/src/require.jl:40
┌ Warning: Error requiring Flux from DiffEqBase:
│ UndefVarError: Tracker not defined
│ Stacktrace:
│ [1] getproperty(::Module, ::Symbol) at ./Base.jl:13
│ [2] top-level scope at /Users/cems/.julia/packages/DiffEqBase/DqkH4/src/init.jl:87
│ [3] eval at ./boot.jl:330 [inlined]
│ [4] eval at /Users/cems/.julia/packages/DiffEqBase/DqkH4/src/DiffEqBase.jl:1 [inlined]
│ [5] (::DiffEqBase.var"#410#434")() at /Users/cems/.julia/packages/Requires/9Jse8/src/require.jl:67
│ [6] err(::DiffEqBase.var"#410#434", ::Module, ::String) at /Users/cems/.julia/packages/Requires/9Jse8/src/require.jl:38
│ [7] #409 at /Users/cems/.julia/packages/Requires/9Jse8/src/require.jl:66 [inlined]
│ [8] withpath(::DiffEqBase.var"#409#433", ::String) at /Users/cems/.julia/packages/Requires/9Jse8/src/require.jl:28
│ [9] #408 at /Users/cems/.julia/packages/Requires/9Jse8/src/require.jl:65 [inlined]
│ [10] listenpkg(::DiffEqBase.var"#408#432", ::Base.PkgId) at /Users/cems/.julia/packages/Requires/9Jse8/src/require.jl:13
│ [11] macro expansion at /Users/cems/.julia/packages/Requires/9Jse8/src/require.jl:64 [inlined]
│ [12] __init__() at /Users/cems/.julia/packages/DiffEqBase/DqkH4/src/init.jl:85
│ [13] _include_from_serialized(::String, ::Array{Any,1}) at ./loading.jl:692
│ [14] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:776
│ [15] _tryrequire_from_serialized(::Base.PkgId, ::UInt64, ::String) at ./loading.jl:707
│ [16] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:765
│ [17] _require(::Base.PkgId) at ./loading.jl:1001
│ [18] require(::Base.PkgId) at ./loading.jl:922
│ [19] require(::Module, ::Symbol) at ./loading.jl:917
│ [20] eval(::Module, ::Any) at ./boot.jl:330
│ [21] eval_user_input(::Any, ::REPL.REPLBackend) at /Users/sabae/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.3/REPL/src/REPL.jl:86
│ [22] macro expansion at /Users/sabae/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.3/REPL/src/REPL.jl:118 [inlined]
│ [23] (::REPL.var"#26#27"{REPL.REPLBackend})() at ./task.jl:333
└ @ Requires ~/.julia/packages/Requires/9Jse8/src/require.jl:40
julia> using Plots
julia> using DiffEqFlux
[ Info: Precompiling DiffEqFlux [aae7a2af-3d4f-5e19-a356-7da93b79d9d0]
ERROR: LoadError: LoadError: UndefVarError: Tracker not defined
Stacktrace:
[1] include at ./boot.jl:328 [inlined]
[2] include_relative(::Module, ::String) at ./loading.jl:1105
[3] include at ./Base.jl:31 [inlined]
[4] include(::String) at /Users/cems/.julia/packages/DiffEqSensitivity/DI6VG/src/DiffEqSensitivity.jl:3
[5] top-level scope at /Users/cems/.julia/packages/DiffEqSensitivity/DI6VG/src/DiffEqSensitivity.jl:14
[6] include at ./boot.jl:328 [inlined]
[7] include_relative(::Module, ::String) at ./loading.jl:1105
[8] include(::Module, ::String) at ./Base.jl:31
[9] top-level scope at none:2
[10] eval at ./boot.jl:330 [inlined]
[11] eval(::Expr) at ./client.jl:425
[12] top-level scope at ./none:3
in expression starting at /Users/cems/.julia/packages/DiffEqSensitivity/DI6VG/src/adjoint_sensitivity.jl:1
in expression starting at /Users/cems/.julia/packages/DiffEqSensitivity/DI6VG/src/DiffEqSensitivity.jl:14
ERROR: LoadError: Failed to precompile DiffEqSensitivity [41bf760c-e81c-5289-8e54-58b1f1f8abe2] to /Users/cems/.julia/compiled/v1.3/DiffEqSensitivity/02xYn_ml8Hi.ji.
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1283
[3] _require(::Base.PkgId) at ./loading.jl:1024
[4] require(::Base.PkgId) at ./loading.jl:922
[5] require(::Module, ::Symbol) at ./loading.jl:917
[6] include at ./boot.jl:328 [inlined]
[7] include_relative(::Module, ::String) at ./loading.jl:1105
[8] include(::Module, ::String) at ./Base.jl:31
[9] top-level scope at none:2
[10] eval at ./boot.jl:330 [inlined]
[11] eval(::Expr) at ./client.jl:425
[12] top-level scope at ./none:3
in expression starting at /Users/cems/.julia/packages/DiffEqFlux/t2FwV/src/DiffEqFlux.jl:3
ERROR: Failed to precompile DiffEqFlux [aae7a2af-3d4f-5e19-a356-7da93b79d9d0] to /Users/cems/.julia/compiled/v1.3/DiffEqFlux/BdO4p_ml8Hi.ji.
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1283
[3] _require(::Base.PkgId) at ./loading.jl:1024
[4] require(::Base.PkgId) at ./loading.jl:922
[5] require(::Module, ::Symbol) at ./loading.jl:917
Not sure if this is relevant but the news.md in the flux package says something about Tracker
# v0.10.0
* The default AD engine has switched from [Tracker to Zygote.jl](https://github.com/FluxML/Flux.jl/pull/669)
- The dependency on Tracker.jl has been removed.
- This means Flux now does not depend on using a specialised `TrackedArray` type, and can be used with normal Array implementations directly.
- Tracker compatibility is maintained in most common cases, but Zygote will be the preferred AD backend for Flux from now on.
moved new issue to #975
Problem: the @functor macro seems to be not exported or otherwise cannot be used.
expected result: importing or using Flux should allow one to access the @functor macro as described in the documentation for Flux.jl
Actual Result error message
UndefVarError: @functor not defined
happens any way I try to invoke functor I have tried @functor foo and Flux.@functor fooRegression inspecting the code I see that the functor macro is defined in functor.jl and it is also used in many places, especially in the layer defintions like Dense() in basic.jl
thus it is mysterious why it is not accessible to me after importing Flux
However I see that it Flux.jl there is no export statement for functor that I can find
Code to reproduce
result: UndefVarError: @functor not defined