JuliaReinforcementLearning / ReinforcementLearning.jl

A reinforcement learning package for Julia
https://juliareinforcementlearning.org
Other
586 stars 111 forks source link

JuliaRL_BasicDQN_CartPole example fails #568

Closed blegat closed 1 year ago

blegat commented 2 years ago

In the website https://juliareinforcementlearning.org/, there are the three lines

julia> ] add ReinforcementLearningExperiments
julia> using ReinforcementLearningExperiments
julia> run(E`JuliaRL_BasicDQN_CartPole`)

However, the third one gives (on Julia v1.7.1)

julia> run(E`JuliaRL_BasicDQN_CartPole`)
ERROR: LoadError: MethodError: no method matching Experiment(::Val{:JuliaRL}, ::Val{:BasicDQN}, ::Val{:CartPole}, ::Nothing)
Closest candidates are:
  Experiment(::Any, ::Any, ::Any, ::Any, ::String) at ~/.julia/packages/ReinforcementLearningCore/bim1e/src/core/experiment.jl:18
  Experiment(::Any, ::Any, ::Any, ::Any, ::Any) at ~/.julia/packages/ReinforcementLearningCore/bim1e/src/core/experiment.jl:18
Stacktrace:
 [1] Experiment(s::String)
   @ ReinforcementLearningCore ~/.julia/packages/ReinforcementLearningCore/bim1e/src/core/experiment.jl:46
 [2] var"@E_cmd"(__source__::LineNumberNode, __module__::Module, s::Any)
   @ ReinforcementLearningCore ~/.julia/packages/ReinforcementLearningCore/bim1e/src/core/experiment.jl:36
in expression starting at REPL[16]:1
findmyway commented 2 years ago

I can't reproduce this error.

Could you switch to a fresh new environment with ] activate --temp and try again?

If you still get the error, more detailed information would be appreciated! https://juliareinforcementlearning.org/docs/FAQ/#I-get-an-error-when-trying-examples-in-the-doc

blegat commented 2 years ago

I get the same with a temporary environment:

(@v1.7) pkg> activate --temp
  Activating new project at `/tmp/jl_AN9iCX`

julia> versioninfo()
Julia Version 1.7.1
Commit ac5cc99908 (2021-12-22 19:35 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-12.0.1 (ORCJIT, skylake)

(jl_AN9iCX) pkg> add ReinforcementLearningExperiments
    Updating registry at `~/.julia/registries/General`
    Updating git-repo `https://github.com/JuliaRegistries/General.git`
   Resolving package versions...
   Installed CUDA ─ v3.6.3
    Updating `/tmp/jl_AN9iCX/Project.toml`
  [6bd458e5] + ReinforcementLearningExperiments v0.1.3
    Updating `/tmp/jl_AN9iCX/Manifest.toml`
  [621f4979] + AbstractFFTs v1.0.1
  [1520ce14] + AbstractTrees v0.3.4
  [79e6a3ab] + Adapt v3.3.3
  [b7f77d8d] + ArcadeLearningEnvironment v0.2.4
  [4fba245c] + ArrayInterface v3.2.2
  [13072b0f] + AxisAlgorithms v1.0.1
  [ab4f0b2a] + BFloat16s v0.2.0
  [fbb218c0] + BSON v0.3.4
  [fa961155] + CEnum v0.4.1
  [052768ef] + CUDA v3.6.3
  [49dc2e85] + Calculus v0.5.1
  [082447d4] + ChainRules v1.17.0
  [d360d2e6] + ChainRulesCore v1.11.4
  [9e997f8a] + ChangesOfVariables v0.1.2
  [9de3a189] + CircularArrayBuffers v0.1.4
  [944b1d66] + CodecZlib v0.7.0
  [3da002f7] + ColorTypes v0.11.0
  [c3611d14] + ColorVectorSpace v0.9.8
  [5ae59095] + Colors v0.12.8
  [d842c3ba] + CommonRLInterface v0.3.1
  [bbf7d656] + CommonSubexpressions v0.3.0
  [34da2185] + Compat v3.41.0
  [187b0558] + ConstructionBase v1.3.0
  [150eb455] + CoordinateTransformations v0.6.2
  [a8cc5b0e] + Crayons v4.1.0
  [9a962f9c] + DataAPI v1.9.0
  [864edb3b] + DataStructures v0.18.11
  [e2d170a0] + DataValueInterfaces v1.0.0
  [b429d917] + DensityInterface v0.4.0
  [163ba53b] + DiffResults v1.0.3
  [b552c78f] + DiffRules v1.9.0
  [31c24e10] + Distributions v0.25.37
  [ffbed154] + DocStringExtensions v0.8.6
  [fa6b7ba4] + DualNumbers v0.6.6
  [fdbdab4c] + ElasticArrays v1.2.9
  [da5c29d0] + EllipsisNotation v1.1.3
  [e2ba6199] + ExprTools v0.1.6
  [5789e2e9] + FileIO v1.12.0
  [1a297f60] + FillArrays v0.12.7
  [53c48c17] + FixedPointNumbers v0.8.4
  [587475ba] + Flux v0.12.8
  [f6369f11] + ForwardDiff v0.10.24
  [d9f16b24] + Functors v0.2.7
  [0c68f7d7] + GPUArrays v8.1.3
  [61eb1bfa] + GPUCompiler v0.13.10
  [a2bd30eb] + Graphics v1.1.1
  [e15a9946] + GridWorlds v0.5.0
  [eafb193a] + Highlights v0.4.5
  [7869d1d1] + IRTools v0.4.4
  [615f187c] + IfElse v0.1.1
  [c817782e] + ImageBase v0.1.5
  [a09fc81d] + ImageCore v0.9.3
  [02fcd773] + ImageTransformations v0.9.3
  [a98d9a8b] + Interpolations v0.13.5
  [8197267c] + IntervalSets v0.5.3
  [3587e190] + InverseFunctions v0.1.2
  [92d709cd] + IrrationalConstants v0.1.1
  [82899510] + IteratorInterfaceExtensions v1.0.0
  [692b3bcd] + JLLWrappers v1.3.0
  [682c06a0] + JSON v0.21.2
  [e5e0dc1b] + Juno v0.8.4
  [929cbde3] + LLVM v4.7.0
  [2ab3a3ac] + LogExpFunctions v0.3.6
  [6ac74813] + MD5 v0.2.1
  [1914dd2f] + MacroTools v0.5.9
  [dbb5928d] + MappedArrays v0.4.1
  [e89f7d12] + Media v0.5.0
  [e1d29d7a] + Missings v1.0.2
  [e94cdb99] + MosaicViews v0.3.3
  [ffc61752] + Mustache v1.0.12
  [872c559c] + NNlib v0.7.31
  [a00861dc] + NNlibCUDA v0.1.11
  [77ba4419] + NaNMath v0.3.6
  [6fe1bfb0] + OffsetArrays v1.10.8
  [bac558e1] + OrderedCollections v1.4.1
  [90014a1f] + PDMats v0.11.5
  [5432bcbf] + PaddedViews v0.5.11
  [69de0a69] + Parsers v2.1.3
  [21216c6a] + Preferences v1.2.3
  [92933f4c] + ProgressMeter v1.7.1
  [3349acd9] + ProtoBuf v0.11.4
  [1fd47b50] + QuadGK v2.4.2
  [94ee1d12] + Quaternions v0.4.2
  [74087812] + Random123 v1.4.2
  [e6cf234a] + RandomNumbers v1.5.3
  [c84ed2f1] + Ratios v0.4.2
  [c1ae055f] + RealDot v0.1.0
  [189a3867] + Reexport v1.2.2
  [158674fc] + ReinforcementLearning v0.10.0
  [e575027e] + ReinforcementLearningBase v0.9.7
  [de1b191a] + ReinforcementLearningCore v0.8.7
  [25e41dd2] + ReinforcementLearningEnvironments v0.6.12
  [6bd458e5] + ReinforcementLearningExperiments v0.1.3
  [d607f57d] + ReinforcementLearningZoo v0.5.6
  [05181044] + RelocatableFolders v0.1.3
  [ae029012] + Requires v1.2.0
  [79098fc4] + Rmath v0.7.0
  [6038ab10] + Rotations v1.1.0
  [6c6a2e73] + Scratch v1.1.0
  [efcf1570] + Setfield v0.8.1
  [a2af1166] + SortingAlgorithms v1.0.1
  [276daf66] + SpecialFunctions v2.0.0
  [860ef19b] + StableRNGs v1.0.0
  [cae243ae] + StackViews v0.1.1
  [aedffcd0] + Static v0.4.1
  [90137ffa] + StaticArrays v1.3.0
  [82ae8749] + StatsAPI v1.2.0
  [2913bbd2] + StatsBase v0.33.14
  [4c63d2b9] + StatsFuns v0.9.14
  [69024149] + StringEncodings v0.3.5
  [09ab397b] + StructArrays v0.6.3
  [3783bdb8] + TableTraits v1.0.1
  [bd369af6] + Tables v1.6.1
  [899adc3e] + TensorBoardLogger v0.1.18
  [62fd8b95] + TensorCore v0.1.1
  [a759f4b9] + TimerOutputs v0.5.13
  [3bb67fe8] + TranscodingStreams v0.9.6
  [b8865327] + UnicodePlots v2.5.1
  [44d3d7a6] + Weave v0.10.10
  [efce3f68] + WoodburyMatrices v0.5.5
  [ddb6d928] + YAML v0.4.7
  [a5390f91] + ZipFile v0.9.4
  [e88e6eb3] + Zygote v0.6.33
  [700de1a5] + ZygoteRules v0.2.2
  [52cbb755] + ArcadeLearningEnvironment_jll v0.6.1+0
  [1fd713ca] + Attr_jll v2.5.1+0
  [6e34b625] + Bzip2_jll v1.0.6+5
  [2e619515] + Expat_jll v2.2.10+0
  [dad2f222] + LLVMExtra_jll v0.0.13+0
  [1e303b3e] + LibArchive_jll v3.5.1+0
  [94ce4f54] + Libiconv_jll v1.16.1+1
  [5ced341a] + Lz4_jll v1.9.3+0
  [458c3c95] + OpenSSL_jll v1.1.10+0
  [efe28fd5] + OpenSpecFun_jll v0.5.5+0
  [f50d1b31] + Rmath_jll v0.3.0+0
  [ffd25f8a] + XZ_jll v5.2.5+2
  [3161d3a3] + Zstd_jll v1.5.0+0
  [ed5aba05] + acl_jll v2.3.1+0
  [c7845625] + protoc_jll v3.19.1+0
  [0dad84c5] + ArgTools
  [56f22d72] + Artifacts
  [2a0f44e3] + Base64
  [8bf52ea8] + CRC32c
  [ade2ca70] + Dates
  [8bb1440f] + DelimitedFiles
  [8ba89e20] + Distributed
  [f43a241f] + Downloads
  [9fa8497b] + Future
  [b77e0a4c] + InteractiveUtils
  [4af54fe1] + LazyArtifacts
  [b27032c2] + LibCURL
  [76f85450] + LibGit2
  [8f399da3] + Libdl
  [37e2e46d] + LinearAlgebra
  [56ddb016] + Logging
  [d6f4376e] + Markdown
  [a63ad114] + Mmap
  [ca575930] + NetworkOptions
  [44cfe95a] + Pkg
  [de0858da] + Printf
  [9abbd945] + Profile
  [3fa0cd96] + REPL
  [9a3f8284] + Random
  [ea8e919c] + SHA
  [9e88b42a] + Serialization
  [1a1011a3] + SharedArrays
  [6462fe0b] + Sockets
  [2f01184e] + SparseArrays
  [10745b16] + Statistics
  [4607b0f0] + SuiteSparse
  [fa267f1f] + TOML
  [a4e569a6] + Tar
  [8dfed614] + Test
  [cf7118a7] + UUIDs
  [4ec0a83e] + Unicode
  [e66e0078] + CompilerSupportLibraries_jll
  [deac9b47] + LibCURL_jll
  [29816b5a] + LibSSH2_jll
  [c8ffd9c3] + MbedTLS_jll
  [14a3606d] + MozillaCACerts_jll
  [4536629a] + OpenBLAS_jll
  [05823500] + OpenLibm_jll
  [83775a58] + Zlib_jll
  [8e850b90] + libblastrampoline_jll
  [8e850ede] + nghttp2_jll
  [3f19e933] + p7zip_jll
Precompiling project...
  7 dependencies successfully precompiled in 80 seconds (139 already precompiled)

julia> using ReinforcementLearningExperiments

julia> run(E`JuliaRL_BasicDQN_CartPole`)
ERROR: LoadError: MethodError: no method matching Experiment(::Val{:JuliaRL}, ::Val{:BasicDQN}, ::Val{:CartPole}, ::Nothing)
Closest candidates are:
  Experiment(::Any, ::Any, ::Any, ::Any, ::String) at ~/.julia/packages/ReinforcementLearningCore/bim1e/src/core/experiment.jl:18
  Experiment(::Any, ::Any, ::Any, ::Any, ::Any) at ~/.julia/packages/ReinforcementLearningCore/bim1e/src/core/experiment.jl:18
Stacktrace:
 [1] Experiment(s::String)
   @ ReinforcementLearningCore ~/.julia/packages/ReinforcementLearningCore/bim1e/src/core/experiment.jl:46
 [2] var"@E_cmd"(__source__::LineNumberNode, __module__::Module, s::Any)
   @ ReinforcementLearningCore ~/.julia/packages/ReinforcementLearningCore/bim1e/src/core/experiment.jl:36
in expression starting at REPL[5]:1
findmyway commented 2 years ago

Ok, confirmed that you are using the latest version and it's just the same one as mine. But I really can't reproduce it...

I'll try again on another machine later.

findmyway commented 2 years ago

Well, I tried again on a Windows and a Ubuntu machine, and I still can't reproduce it.

But based on the error message, it seems the ReinforcementLearningExperiments package is not properly built/load. Maybe try ] build ReinforcementLearningExperiments and check the build.log file?

findmyway commented 2 years ago

I can finally reproduce it by ]activate src/ReinforcementLearningExperiments. But not sure how to fix it yet. Still quite strange to me.