@@ -13,36 +13,64 @@ Base.@kwdef mutable struct SolverParams <: DFG.AbstractParams
1313 dimID:: Int = 0
1414 reference:: NothingUnion {Dict{Symbol, Tuple{Symbol, Vector{Float64}}}} = nothing
1515 stateless:: Bool = false
16- qfl:: Int = (2 ^ (Sys. WORD_SIZE - 1 ) - 1 )# Quasi fixed length
17- isfixedlag:: Bool = false # true when adhering to qfl window size for solves
18- limitfixeddown:: Bool = false # if true, then fixed lag will not update marginalized during down pass on tree
19- incremental:: Bool = true # use incremental tree updates, TODO consolidate with recycling
20- useMsgLikelihoods:: Bool = false # Experimental, insert differential factors from upward joints
21- upsolve:: Bool = true # do tree upsolve
22- downsolve:: Bool = true # do tree downsolve
23- drawtree:: Bool = false # draw tree during solve
24- drawCSMIters:: Bool = true # show CSM iteration count on tree visualization
16+ """ Quasi fixed length """
17+ qfl:: Int = (2 ^ (Sys. WORD_SIZE - 1 ) - 1 )
18+ """ true when adhering to qfl window size for solves """
19+ isfixedlag:: Bool = false
20+ """ if true, then fixed lag will not update marginalized during down pass on tree """
21+ limitfixeddown:: Bool = false
22+ """ use incremental tree updates, TODO consolidate with recycling """
23+ incremental:: Bool = true
24+ """ Experimental, insert differential factors from upward joints """
25+ useMsgLikelihoods:: Bool = false
26+ """ do tree upsolve """
27+ upsolve:: Bool = true
28+ """ do tree downsolve """
29+ downsolve:: Bool = true
30+ """ draw tree during solve """
31+ drawtree:: Bool = false
32+ """ show CSM iteration count on tree visualization """
33+ drawCSMIters:: Bool = true
2534 showtree:: Bool = false
26- drawtreerate:: Float64 = 0.5 # how fast should the tree vis file be redrawn
27- dbg:: Bool = false # Experimental, enable additional tier debug features
28- async:: Bool = false # do not block on CSM tasks
29- limititers:: Int = 500 # limit number of steps CSMs can take
30- N:: Int = 100 # default number of particles
31- multiproc:: Bool = 1 < nprocs () # should Distributed.jl tree solve compute features be used
32- logpath:: String = " /tmp/caesar/$(now ()) " # unique temporary file storage location for a solve
33- graphinit:: Bool = true # default to graph-based initialization of variables
34- treeinit:: Bool = false # init variables on the tree
35+ """ how fast should the tree vis file be redrawn """
36+ drawtreerate:: Float64 = 0.5
37+ """ Experimental, enable additional tier debug features """
38+ dbg:: Bool = false
39+ """ do not block on CSM tasks """
40+ async:: Bool = false
41+ """ limit number of steps CSMs can take """
42+ limititers:: Int = 500
43+ """ default number of particles """
44+ N:: Int = 100
45+ """ should Distributed.jl tree solve compute features be used """
46+ multiproc:: Bool = 1 < nprocs ()
47+ """ "/tmp/caesar/logs/$(now ()) " # unique temporary file storage location for a solve """
48+ logpath:: String = joinpath (tempdir ()," caesar" ," logs" ," $(now (UTC)) " )
49+ """ default to graph-based initialization of variables """
50+ graphinit:: Bool = true
51+ """ init variables on the tree """
52+ treeinit:: Bool = false
3553 limittreeinit_iters:: Int = 10
36- algorithms:: Vector{Symbol} = [:default , :parametric ] # list of algorithms to run [:default] is mmisam
37- spreadNH:: Float64 = 3.0 # entropy spread adjustment used for both null hypo cases.
38- inflation:: Float64 = 5.0 # how much to disperse particles before convolution solves, #1051
39- nullSurplusAdd:: Float64 = 0.3 # minimum nullhypo for relative factors sibling to multihypo factors onto a specific variable.
40- inflateCycles:: Int = 3 # repeat convolutions for inflation to occur
41- gibbsIters:: Int = 3 # number of Gibbs cycles to take per clique iteration variables
42- maxincidence:: Int = 500 # maximum incidence to a variable in an effort to enhance sparsity
43- alwaysFreshMeasurements:: Bool = true # Development feature on whether new samples should be sampled at each Gibbs cycle convolution
44- attemptGradients:: Bool = false # should factor gradients be calculated or attempted (UNDER DEVELOPMENT, 21Q3)
45- devParams:: Dict{Symbol, String} = Dict {Symbol, String} () # empty container for new features, allowing workaround for breaking changes and legacy
54+ """ list of algorithms to run [:default] is mmisam """
55+ algorithms:: Vector{Symbol} = [:default , :parametric ]
56+ """ entropy spread adjustment used for both null hypo cases. """
57+ spreadNH:: Float64 = 3.0
58+ """ how much to disperse particles before convolution solves, #1051 """
59+ inflation:: Float64 = 5.0
60+ """ minimum nullhypo for relative factors sibling to multihypo factors onto a specific variable. """
61+ nullSurplusAdd:: Float64 = 0.3
62+ """ repeat convolutions for inflation to occur """
63+ inflateCycles:: Int = 3
64+ """ number of Gibbs cycles to take per clique iteration variables """
65+ gibbsIters:: Int = 3
66+ """ maximum incidence to a variable in an effort to enhance sparsity """
67+ maxincidence:: Int = 500
68+ """ Development feature on whether new samples should be sampled at each Gibbs cycle convolution """
69+ alwaysFreshMeasurements:: Bool = true
70+ """ should factor gradients be calculated or attempted (UNDER DEVELOPMENT, 21Q3) """
71+ attemptGradients:: Bool = false
72+ """ empty container for new features, allowing workaround for breaking changes and legacy """
73+ devParams:: Dict{Symbol, String} = Dict {Symbol, String} ()
4674 #
4775end
4876
0 commit comments