@@ -13,36 +13,64 @@ Base.@kwdef mutable struct SolverParams <: DFG.AbstractParams
13
13
dimID:: Int = 0
14
14
reference:: NothingUnion {Dict{Symbol, Tuple{Symbol, Vector{Float64}}}} = nothing
15
15
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
25
34
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
35
53
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} ()
46
74
#
47
75
end
48
76
0 commit comments