Error in `pretty_stats` with `Vector` in the `GenericExecutionStats` specifics
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
Direzione di ricerca
Riproduci il problema con l’esempio Julia e ispeziona pretty_stats in src/formats.jl alla riga 66, dove viene segnalata la chiave DenseVector. Poi leggi solve_problems in src/run_solver.jl intorno alla riga 67 per tracciare come i valori solver_specific raggiungono l’output del benchmark; il lavoro è completato quando pretty_stats può elaborare le statistiche risultanti senza un KeyError.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
using CUTEst, NLPModels, NLPModelsIpopt, SolverBenchmark, SolverCore
#This package
using DCISolver
nmax = 100
_pnames = CUTEst.select(
max_var = nmax,
min_con = 1,
max_con = nmax,
only_free_var = true,
only_equ_con = true,
objtype = 3:6
)
#Remove all the problems ending by NE as Ipopt cannot handle them.
pnamesNE = _pnames[findall(x->occursin(r"NE\b", x), _pnames)]
pnames = setdiff(_pnames, pnamesNE)
cutest_problems = (CUTEstModel(p) for p in pnames)
#Same time limit for all the solvers
max_time = 1200. #20 minutes
solvers = Dict(
:ipopt => nlp -> ipopt(
nlp,
print_level = 0,
dual_inf_tol = Inf,
constr_viol_tol = Inf,
compl_inf_tol = Inf,
acceptable_iter = 0,
max_cpu_time = max_time,
x0 = nlp.meta.x0,
),
:dcildl => nlp -> dci(
nlp,
nlp.meta.x0,
linear_solver = :ldlfact,
max_time = max_time,
max_iter = typemax(Int64),
max_eval = typemax(Int64),
),
)
stats = bmark_solvers(solvers, cutest_problems)
pretty_stats(stats[:dcildl])
returns the following error.
ERROR: KeyError: key DenseVector{Float64} not found
Stacktrace:
[1] getindex(h::Dict{DataType, String}, key::Type)
@ Base ./dict.jl:482
[2] pretty_stats(io::Base.TTY, df::DataFrames.DataFrame; col_formatters::Dict{DataType, String}, hdr_override::Dict{Symbol, String}, kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ SolverBenchmark ~/.julia/packages/SolverBenchmark/eOKec/src/formats.jl:66
[3] pretty_stats(io::Base.TTY, df::DataFrames.DataFrame)
@ SolverBenchmark ~/.julia/packages/SolverBenchmark/eOKec/src/formats.jl:42
[4] pretty_stats(df::DataFrames.DataFrame; kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ SolverBenchmark ~/.julia/packages/SolverBenchmark/eOKec/src/formats.jl:84
[5] pretty_stats(df::DataFrames.DataFrame)
@ SolverBenchmark ~/.julia/packages/SolverBenchmark/eOKec/src/formats.jl:84
[6] top-level scope
@ REPL[32]:1
My understanding is that we assume that there are no vectors in the output of the function bmark_solvers, while dci from DCISolver.jl has a vector in its stats.solver_specific. So, it looks as a bug in solve_problems function
- Lingua principale
- Julia
- Stelle
- 22
- Fork
- 12
- Merge medio
- 2h 19m
- PR unite (30g)
- 1
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di JuliaSmoothOptimizers/SolverBenchmark.jl
-
Review dependenciesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
-
`performance_profile()` doesn't passe kwargs to `BenchmarkProfiles.performance_profiles()`Forse già presa @arnavk23 l’ha presa 72 giorni fa. Apertaenhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 42/100
JuliaSmoothOptimizers/SolverBenchmark.jl#143 · 1 commento ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
-
Handle Bool in LaTeXAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
JuliaSmoothOptimizers/SolverBenchmark.jl#65 · 1 commento ·
Tutte le issue di JuliaSmoothOptimizers/SolverBenchmark.jl
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
JuliaDebug/Cthulhu.jl#716 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
rafaqz/DimensionalData.jl#1253 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
osrep/Runes2P.jl#283 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno