Implement UpdaterCovarAdaptation::setSubMatrices to mimic parallel optimization · Issue #59 · stulp/dmpbbo · GitHub
More Web Proxy on the site http://driver.im/
You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The parallel optimization is no longer needed if the covariance matrix updates updates the matrix in submatrices. The simple solution to this would be to have a function UpdaterCovarAdaptation::setSubMatrices(VectorXi), in which the sizes of the submatrices are set, rather than derived from the array of distributions:
runOptimizationParallelDeprecated() has a list of N seperate distributions with MxM covariance matrices. They are each sampled separately, and the results concatenated into one NxM parameter vector.
Future (simpler implementation)
Have one NM x NM covariance matrix, but organize it in blocks.
Advantage: simpler code, because running the black-box optimization part is the same for all (a* *voids code redundancy)
Disadvantage. NM x NM with many 0s takes up more memory than N times MxM. However, since there is only one copy of this distribution, I think the advantages outweighs the disadvantage (clearer non-redundant code preferred over complete memory optimization).
Implementation Options:
Option 1: Have a UpdaterCovarAdaptationBlocks (which inhertits from UpdaterCovarAdaptation?) and updates block-by-block.
Option 2: Pass blocks to constructor. Treat differently from normal updater.
The parallel optimization is no longer needed if the covariance matrix updates updates the matrix in submatrices. The simple solution to this would be to have a function
UpdaterCovarAdaptation::setSubMatrices(VectorXi)
, in which the sizes of the submatrices are set, rather than derived from the array of distributions:dmpbbo/src/bbo/runOptimization.cpp
Line 112 in ca900e3
The following functions can then be deleted:
dmpbbo/src/dmp_bbo/runOptimizationTask.cpp
Line 227 in ca900e3
dmpbbo/src/bbo/runOptimization.cpp
Line 65 in ca900e3
The text was updated successfully, but these errors were encountered: