Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

learning_curve throwing nested task error #155

Open
ablaom opened this issue Oct 7, 2021 · 0 comments
Open

learning_curve throwing nested task error #155

ablaom opened this issue Oct 7, 2021 · 0 comments

Comments

@ablaom
Copy link
Member

ablaom commented Oct 7, 2021

X, y = make_blobs()

model = (@load RandomForestClassifier pkg=DecisionTree)()
mach = machine(model, X, y)

r = range(model, :n_trees, lower=10, upper=70, scale=:log10)
many_curves = learning_curve(mach,
                             range=r,
                             resampling=Holdout(),
                             measure=cross_entropy,
                             rng_name=:rng,
                             rngs=1)

Evaluating Learning curve with 1 rngs:   0%[>                 ]  ETA: N/A┌ Error: Problem fi
tting the machine Machine{RandomForestClassifier,}.                              
└ @ MLJBase ~/.julia/packages/MLJBase/HZmTU/src/machines.jl:533
[ Info: Running type checks... 
[ Info: Type checks okay. 
┌ Error: Problem fitting the machine Machine{Resampler{Holdout},}. 
└ @ MLJBase ~/.julia/packages/MLJBase/HZmTU/src/machines.jl:533
[ Info: Running type checks... 
[ Info: Type checks okay. 
┌ Error: Problem fitting the machine Machine{ProbabilisticTunedModel{Grid,},}. 
└ @ MLJBase ~/.julia/packages/MLJBase/HZmTU/src/machines.jl:533
[ Info: Running type checks... 
[ Info: Type checks okay. 
ERROR: TaskFailedException
Stacktrace:
  [1] wait
    @ ./task.jl:322 [inlined]
  [2] threading_run(func::Function)
    @ Base.Threads ./threadingconstructs.jl:34
  [3] macro expansion
    @ ./threadingconstructs.jl:93 [inlined]
  [4] build_forest(labels::Vector{UInt32}, features::Matrix{Float64}, n_subfeatures::Int64, 
n_trees::Int64, partial_sampling::Float64, max_depth::Int64, min_samples_leaf::Int64, min_samples_split::Int64, min_purity_increase::Float64; rng::Random.MersenneTwister)        
    @ DecisionTree ~/.julia/packages/DecisionTree/iWCbW/src/classification/main.jl:223
  [5] fit(m::MLJDecisionTreeInterface.RandomForestClassifier, verbosity::Int64, X::DataFrames.DataFrame, y::CategoricalVector{Int64, UInt32, Int64, CategoricalValue{Int64, UInt32}, Union{}})                           
    @ MLJDecisionTreeInterface ~/.julia/packages/MLJDecisionTreeInterface/RZmUr/src/MLJDecisionTreeInterface.jl:200                                                             
  [6] fit_only!(mach::Machine{MLJDecisionTreeInterface.RandomForestClassifier, true}; rows::
Vector{Int64}, verbosity::Int64, force::Bool)                                              
    @ MLJBase ~/.julia/packages/MLJBase/HZmTU/src/machines.jl:531
  [7] #fit!#103
    @ ~/.julia/packages/MLJBase/HZmTU/src/machines.jl:598 [inlined]
  [8] fit_and_extract_on_fold
    @ ~/.julia/packages/MLJBase/HZmTU/src/resampling.jl:1088 [inlined]
  [9] (::MLJBase.var"#276#277"{MLJBase.var"#fit_and_extract_on_fold#299"{Vector{Tuple{Vector{Int64}, Vector{Int64}}}, Nothing, Nothing, Int64, Vector{LogLoss{Float64}}, Vector{typeof(predict)}, Bool, Bool, CategoricalVector{Int64, UInt32, Int64, CategoricalValue{Int64, UInt32}, Union{}}, DataFrames.DataFrame}, Machine{MLJDecisionTreeInterface.RandomForestClassifier, true}, Int64, ProgressMeter.Progress})(k::Int64)
    @ MLJBase ~/.julia/packages/MLJBase/HZmTU/src/resampling.jl:932
 [10] mapreduce_first
    @ ./reduce.jl:392 [inlined]
 [11] _mapreduce(f::MLJBase.var"#276#277"{MLJBase.var"#fit_and_extract_on_fold#299"{Vector{Tuple{Vector{Int64}, Vector{Int64}}}, Nothing, Nothing, Int64, Vector{LogLoss{Float64}}, Vector{typeof(predict)}, Bool, Bool, CategoricalVector{Int64, UInt32, Int64, CategoricalValue{Int64, UInt32}, Union{}}, DataFrames.DataFrame}, Machine{MLJDecisionTreeInterface.RandomForestClassifier, true}, Int64, ProgressMeter.Progress}, op::typeof(vcat), #unused#::IndexLinear, 
A::UnitRange{Int64})                                                                       
    @ Base ./reduce.jl:403
 [12] _mapreduce_dim
    @ ./reducedim.jl:318 [inlined]
 [13] #mapreduce#672
    @ ./reducedim.jl:310 [inlined]
 [14] mapreduce
    @ ./reducedim.jl:310 [inlined]
 [15] _evaluate!(func::MLJBase.var"#fit_and_extract_on_fold#299"{Vector{Tuple{Vector{Int64}, Vector{Int64}}}, Nothing, Nothing, Int64, Vector{LogLoss{Float64}}, Vector{typeof(predict)}, Bool, Bool, CategoricalVector{Int64, UInt32, Int64, CategoricalValue{Int64, UInt32}, Union{}}, DataFrames.DataFrame}, mach::Machine{MLJDecisionTreeInterface.RandomForestClassifier, true}, #unused#::CPU1{Nothing}, nfolds::Int64, verbosity::Int64)
    @ MLJBase ~/.julia/packages/MLJBase/HZmTU/src/resampling.jl:931
 [16] evaluate!(mach::Machine{MLJDecisionTreeInterface.RandomForestClassifier, true}, resampling::Vector{Tuple{Vector{Int64}, Vector{Int64}}}, weights::Nothing, class_weights::Nothing, rows::Nothing, verbosity::Int64, repeats::Int64, measures::Vector{LogLoss{Float64}}, operations::Vector{typeof(predict)}, acceleration::CPU1{Nothing}, force::Bool)              
    @ MLJBase ~/.julia/packages/MLJBase/HZmTU/src/resampling.jl:1126
 [17] evaluate!(::Machine{MLJDecisionTreeInterface.RandomForestClassifier, true}, ::Holdout, ::Nothing, ::Nothing, ::Nothing, ::Int64, ::Int64, ::Vector{LogLoss{Float64}}, ::Vector{typeof(predict)}, ::CPU1{Nothing}, ::Bool)                                                 
    @ MLJBase ~/.julia/packages/MLJBase/HZmTU/src/resampling.jl:1193
 [18] fit(::Resampler{Holdout}, ::Int64, ::DataFrames.DataFrame, ::CategoricalVector{Int64, UInt32, Int64, CategoricalValue{Int64, UInt32}, Union{}})                           
    @ MLJBase ~/.julia/packages/MLJBase/HZmTU/src/resampling.jl:1337
 [19] fit_only!(mach::Machine{Resampler{Holdout}, false}; rows::Nothing, verbosity::Int64, force::Bool)                                                                                
    @ MLJBase ~/.julia/packages/MLJBase/HZmTU/src/machines.jl:531
 [20] #fit!#103
    @ ~/.julia/packages/MLJBase/HZmTU/src/machines.jl:598 [inlined]
 [21] event!(metamodel::MLJDecisionTreeInterface.RandomForestClassifier, resampling_machine::Machine{Resampler{Holdout}, false}, verbosity::Int64, tuning::Grid, history::Nothing, state
::NamedTuple{(:models, :fields, :parameter_scales, :models_delivered), Tuple{Vector{MLJDecisionTreeInterface.RandomForestClassifier}, Vector{Symbol}, Vector{Symbol}, Bool}})
    @ MLJTuning ~/.julia/packages/MLJTuning/efiDR/src/tuned_models.jl:395
 [22] #35
    @ ~/.julia/packages/MLJTuning/efiDR/src/tuned_models.jl:433 [inlined]
 [23] iterate
    @ ./generator.jl:47 [inlined]
 [24] _collect(c::Vector{MLJDecisionTreeInterface.RandomForestClassifier}, itr::Base.Generator{Vector{MLJDecisionTreeInterface.RandomForestClassifier}, MLJTuning.var"#35#36"{Machine{Resampler{Holdout}, false}, Int64, Grid, Nothing, NamedTuple{(:models, :fields, :parameter_scales, :models_delivered), Tuple{Vector{MLJDecisionTreeInterface.RandomForestClassifier}, Vector{Symbol}, Vector{Symbol}, Bool}}, ProgressMeter.Progress}}, #unused#::Base.EltypeUnknown, 
isz::Base.HasShape{1})                                                                     
    @ Base ./array.jl:695
 [25] collect_similar
    @ ./array.jl:606 [inlined]
 [26] map
    @ ./abstractarray.jl:2294 [inlined]
 [27] assemble_events!(metamodels::Vector{MLJDecisionTreeInterface.RandomForestClassifier}, 
resampling_machine::Machine{Resampler{Holdout}, false}, verbosity::Int64, tuning::Grid, history::Nothing, state::NamedTuple{(:models, :fields, :parameter_scales, :models_delivered), Tuple{Vector{MLJDecisionTreeInterface.RandomForestClassifier}, Vector{Symbol}, Vector{Symbol}, Bool}}, acceleration::CPU1{Nothing})
    @ MLJTuning ~/.julia/packages/MLJTuning/efiDR/src/tuned_models.jl:432
 [28] build!(history::Nothing, n::Int64, tuning::Grid, model::MLJDecisionTreeInterface.RandomForestClassifier, model_buffer::Channel{Any}, state::NamedTuple{(:models, :fields, :parameter_scales, :models_delivered), Tuple{Vector{MLJDecisionTreeInterface.RandomForestClassifier}, Vector{Symbol}, Vector{Symbol}, Bool}}, verbosity::Int64, acceleration::CPU1{Nothing}, resampling_machine::Machine{Resampler{Holdout}, false})                                     
    @ MLJTuning ~/.julia/packages/MLJTuning/efiDR/src/tuned_models.jl:625
 [29] fit(::MLJTuning.ProbabilisticTunedModel{Grid, MLJDecisionTreeInterface.RandomForestClassifier}, ::Int64, ::DataFrames.DataFrame, ::CategoricalVector{Int64, UInt32, Int64, CategoricalValue{Int64, UInt32}, Union{}})                           
    @ MLJTuning ~/.julia/packages/MLJTuning/efiDR/src/tuned_models.jl:704
 [30] fit_only!(mach::Machine{MLJTuning.ProbabilisticTunedModel{Grid, MLJDecisionTreeInterface.RandomForestClassifier}, true}; rows::Nothing, verbosity::Int64, force::Bool)
    @ MLJBase ~/.julia/packages/MLJBase/HZmTU/src/machines.jl:531
 [31] #fit!#103
    @ ~/.julia/packages/MLJBase/HZmTU/src/machines.jl:598 [inlined]
 [32] (::MLJTuning.var"#61#62"{Machine{MLJTuning.ProbabilisticTunedModel{Grid, MLJDecisionTreeInterface.RandomForestClassifier}, true}, Nothing, Symbol, Int64, ProgressMeter.Progress})
(rng::Random.MersenneTwister)                                                              
    @ MLJTuning ~/.julia/packages/MLJTuning/efiDR/src/learning_curves.jl:231
 [33] mapreduce_first
    @ ./reduce.jl:392 [inlined]
 [34] _mapreduce(f::MLJTuning.var"#61#62"{Machine{MLJTuning.ProbabilisticTunedModel{Grid, MLJDecisionTreeInterface.RandomForestClassifier}, true}, Nothing, Symbol, Int64, ProgressMeter.Progress}, op::typeof(MLJTuning._collate), #unused#::IndexLinear, A::Vector{Random.MersenneTwister})                                                                   
    @ Base ./reduce.jl:403
 [35] _mapreduce_dim
    @ ./reducedim.jl:318 [inlined]
 [36] #mapreduce#672
    @ ./reducedim.jl:310 [inlined]
 [37] mapreduce
    @ ./reducedim.jl:310 [inlined]
 [38] _tuning_results(rngs::Vector{Random.MersenneTwister}, acceleration::CPU1{Nothing}, tuned::Machine{MLJTuning.ProbabilisticTunedModel{Grid, MLJDecisionTreeInterface.RandomForestClassifier}, true}, rows::Nothing, rng_name::Symbol, verbosity::Int64)
    @ MLJTuning ~/.julia/packages/MLJTuning/efiDR/src/learning_curves.jl:229
 [39] learning_curve(::MLJDecisionTreeInterface.RandomForestClassifier, ::MLJBase.Source, ::
Vararg{MLJBase.Source, N} where N; resolution::Int64, resampling::Holdout, weights::Nothing, measures::Nothing, measure::LogLoss{Float64}, rows::Nothing, operation::Nothing, ranges::Nothing, range::MLJBase.NumericRange{Int64, MLJBase.Bounded, Symbol}, repeats::Int64, acceleration::CPU1{Nothing}, acceleration_grid::CPU1{Nothing}, verbosity::Int64, rngs::Int64, rng_name::Symbol, check_measure::Bool)                                                      
    @ MLJTuning ~/.julia/packages/MLJTuning/efiDR/src/learning_curves.jl:173
 [40] #learning_curve#58
    @ ~/.julia/packages/MLJTuning/efiDR/src/learning_curves.jl:92 [inlined]
 [41] top-level scope
    @ REPL[44]:1

    nested task error: AssertionError: length(ints) == 501
    Stacktrace:
      [1] mt_setfull!(r::Random.MersenneTwister, #unused#::Type{UInt64})
        @ Random /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Random/src/RNGs.jl:260
      [2] reserve1
        @ /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Random/src/RNGs.jl:291 [inlined]
      [3] mt_pop!
        @ /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Random/src/RNGs.jl:296 [inlined]
      [4] rand
        @ /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Random/src/RNGs.jl:464 [inlined]
      [5] rand
        @ /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Random/src/Random.jl:256 [inlined]
      [6] rand(rng::Random.MersenneTwister, sp::Random.SamplerRangeNDL{UInt64, Int64})
        @ Random /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Random/src/generation.jl:332
      [7] rand!
        @ /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Random/src/Random.jl:271 [inlined]                              
      [8] rand!(rng::Random.MersenneTwister, A::Vector{Int64}, X::UnitRange{Int64})
        @ Random /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Random/src/Random.jl:266
      [9] rand
        @ /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Random/src/Random.jl:279 [inlined]
     [10] rand
        @ /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Random/src/Random.jl:282 [inlined]
     [11] macro expansion
        @ ~/.julia/packages/DecisionTree/iWCbW/src/classification/main.jl:224 [inlined]
     [12] (::DecisionTree.var"#62#threadsfor_fun#22"{Random.MersenneTwister, Vector{UInt32}, Matrix{Float64}, Int64, Int64, Int64, Float64, DecisionTree.var"#20#21"{Vector{Float64}}, Vector{Union{DecisionTree.Leaf{UInt32}, DecisionTree.Node{Float64, UInt32}}}, Int64, Int64, UnitRange{Int64}})(onethread::Bool)
        @ DecisionTree ./threadingconstructs.jl:81
     [13] (::DecisionTree.var"#62#threadsfor_fun#22"{Random.MersenneTwister, Vector{UInt32}, Matrix{Float64}, Int64, Int64, Int64, Float64, DecisionTree.var"#20#21"{Vector{Float64}}, Vector{Union{DecisionTree.Leaf{UInt32}, DecisionTree.Node{Float64, UInt32}}}, Int64, Int64, UnitRange{Int64}})()
        @ DecisionTree ./threadingconstructs.jl:48
(MachineLearningInJulia2020) pkg> status
      Status `~/Google Drive/Julia/MLJ/MachineLearningInJulia2020/Project.toml`
  [336ed68f] CSV v0.9.6
  [324d7699] CategoricalArrays v0.10.1
  [ed09eef8] ComputationalResources v0.3.2
  [a93c6f00] DataFrames v1.2.2
  [7806a523] DecisionTree v0.10.11
  [31c24e10] Distributions v0.25.18
  [f6006082] EvoTrees v0.8.4
  [98b081ad] Literate v2.9.3
  [add582a8] MLJ v0.16.9
  [a7f614a8] MLJBase v0.18.23
  [d354fa79] MLJClusteringInterface v0.1.4
  [094fc8d1] MLJFlux v0.2.5
  [6ee0df7b] MLJLinearModels v0.5.6
  [d491faf4] MLJModels v0.14.12
  [1b6a4a23] MLJMultivariateStatsInterface v0.2.2
  [5ae90465] MLJScikitLearnInterface v0.1.10
  [b8a86587] NearestNeighbors v0.4.9
  [a03496cd] PlotlyBase v0.8.18
  [91a5bcdd] Plots v1.22.4
  [321657f4] ScientificTypes v2.3.0
  [2913bbd2] StatsBase v0.33.10
  [bd369af6] Tables v1.6.0
  [b8865327] UnicodePlots v2.4.6
  [9a3f8284] Random

Julia 1.6.3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant