Closed Snimm closed 1 year ago
I have RTX 3060 12 GB, Julia version 1.8.3, It was working perfectly yesterday, now it is causing issue. running session = Session(experiment, dir="sessions/connect-four") causes the following Error:
session = Session(experiment, dir="sessions/connect-four")
experiment = Examples.experiments["connect-four"] Experiment("connect-four", AlphaZero.Examples.ConnectFour.GameSpec(), Params(SelfPlayParams(MctsParams(1.0, 2.0, 600, PLSchedule{Float64}([0, 20, 30], [1.0, 1.0, 0.3]), 0.25, 1.0, 1.0), SimParams(5000, 128, 64, true, true, 2, 0.0, false)), nothing, LearningParams(true, true, LOG_WEIGHT, Adam(0.002f0), 0.0001f0, 1.0f0, 1.0f0, 1024, 1024, 1, 2000, 1), ArenaParams(MctsParams(1.0, 2.0, 600, ConstSchedule{Float64}(0.2), 0.05, 1.0, 1.0), SimParams(128, 128, 128, true, true, 2, 0.5, true), 0.05), 15, true, true, PLSchedule{Int64}([0, 15], [400000, 1000000])), ResNet, ResNetHP(5, 128, (3, 3), 32, 32, 0.1f0), AlphaZero.Benchmark.Duel[AlphaZero.Benchmark.Duel(AlphaZero.Benchmark.Full(MctsParams(1.0, 2.0, 600, ConstSchedule{Float64}(0.2), 0.05, 1.0, 1.0)), AlphaZero.Benchmark.MctsRollouts(MctsParams(1.0, 1.0, 1000, ConstSchedule{Float64}(0.2), 0.05, 1.0, 1.0)), SimParams(256, 256, 256, true, true, 2, 0.5, false)), AlphaZero.Benchmark.Duel(AlphaZero.Benchmark.NetworkOnly(0.5), AlphaZero.Benchmark.MctsRollouts(MctsParams(1.0, 1.0, 1000, ConstSchedule{Float64}(0.2), 0.05, 1.0, 1.0)), SimParams(256, 256, 256, true, true, 2, 0.5, false))]) session = Session(experiment, dir="sessions/connect-four") Loading environment from: sessions/connect-four TypeError: in new, expected Tuple{Flux.Conv{2, 2, typeof(identity), Array{Float32, 4}, Vector{Float32}}, Flux.BatchNorm{typeof(NNlib.relu), Vector{Float32}, Float32, Vector{Float32}}, Flux.Conv{2, 2, typeof(identity), Array{Float32, 4}, Vector{Float32}}, Flux.BatchNorm{typeof(identity), Vector{Float32}, Float32, Vector{Float32}}}, got a value of type Tuple{Flux.Conv{2, 2, typeof(identity), Array{Float32, 4}, Vector{Float32}}, Int64, Flux.BatchNorm{typeof(NNlib.relu), Vector{Float32}, Float32, Vector{Float32}}, Flux.Conv{2, 2, typeof(identity), Array{Float32, 4}, Vector{Float32}}} Stacktrace: [1] deserialize(s::Serialization.Serializer{IOStream}, t::DataType) @ Serialization C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:1485 [2] handle_deserialize(s::Serialization.Serializer{IOStream}, b::Int32) @ Serialization C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:877 [3] deserialize(s::Serialization.Serializer{IOStream}, t::DataType) @ Serialization C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:1479 [4] handle_deserialize(s::Serialization.Serializer{IOStream}, b::Int32) @ Serialization C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:877 [5] deserialize(s::Serialization.Serializer{IOStream}) @ Serialization C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:813 [6] (::Serialization.var"#5#6"{Serialization.Serializer{IOStream}})(i::Int64) @ Serialization C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:972 [7] ntupleany(f::Serialization.var"#5#6"{Serialization.Serializer{IOStream}}, n::Int64) @ Base .\ntuple.jl:43 [8] deserialize_tuple(s::Serialization.Serializer{IOStream}, len::Int64) @ Serialization C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:972 [9] handle_deserialize(s::Serialization.Serializer{IOStream}, b::Int32) @ Serialization C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:856 [10] deserialize(s::Serialization.Serializer{IOStream}, t::DataType) @ Serialization C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:1479 [11] handle_deserialize(s::Serialization.Serializer{IOStream}, b::Int32) @ Serialization C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:877 [12] deserialize(s::Serialization.Serializer{IOStream}) @ Serialization C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:813 [13] (::Serialization.var"#5#6"{Serialization.Serializer{IOStream}})(i::Int64) @ Serialization C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:972 [14] ntupleany(f::Serialization.var"#5#6"{Serialization.Serializer{IOStream}}, n::Int64) @ Base .\ntuple.jl:43 [15] deserialize_tuple(s::Serialization.Serializer{IOStream}, len::Int64) @ Serialization C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:972 [16] handle_deserialize(s::Serialization.Serializer{IOStream}, b::Int32) @ Serialization C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:856 [17] deserialize(s::Serialization.Serializer{IOStream}, t::DataType) @ Serialization C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:1479 [18] handle_deserialize(s::Serialization.Serializer{IOStream}, b::Int32) @ Serialization C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:877 [19] deserialize(s::Serialization.Serializer{IOStream}, t::DataType) @ Serialization C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:1467 [20] handle_deserialize(s::Serialization.Serializer{IOStream}, b::Int32) @ Serialization C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:882 [21] deserialize(s::Serialization.Serializer{IOStream}) @ Serialization C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:813 [22] handle_deserialize(s::Serialization.Serializer{IOStream}, b::Int32) @ Serialization C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:919 [23] deserialize @ C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:813 [inlined] [24] deserialize(s::IOStream) @ Serialization C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:800 [25] open(f::typeof(Serialization.deserialize), args::String; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base .\io.jl:384 [26] open @ .\io.jl:381 [inlined] [27] deserialize @ C:\Users\rexze\AppData\Local\Programs\Julia-1.8.3\share\julia\stdlib\v1.8\Serialization\src\Serialization.jl:810 [inlined] [28] load_env(dir::String) @ AlphaZero.UserInterface C:\Users\rexze\.julia\packages\AlphaZero\p8fyV\src\ui\session.jl:113 [29] Session(e::Experiment; dir::String, autosave::Bool, nostdout::Bool, save_intermediate::Bool) @ AlphaZero.UserInterface C:\Users\rexze\.julia\packages\AlphaZero\p8fyV\src\ui\session.jl:284 [30] top-level scope @ REPL[3]:1 [31] top-level scope @ C:\Users\rexze\.julia\packages\CUDA\DfvRa\src\initialization.jl:52
The error is resolved if I create a new environment from scratch.
The serialization formats are not guaranteed to be stable so even updating Flux to a different minor version could break it.
I have RTX 3060 12 GB, Julia version 1.8.3, It was working perfectly yesterday, now it is causing issue. running
session = Session(experiment, dir="sessions/connect-four")
causes the following Error: