|
OpenGM
2.3.x
Discrete Graphical Model Library
|
Dual-Decomposition-Subgradient
Inference based on dual decomposition using sub-gradient descent
Reference:
Kappes, J. H. and Savchynskyy, B. and Schnoerr, C.: "A Bundle Approach To Efficient MAP-Inference by Lagrangian Relaxation". In CVPR 2012, 2012.
More...
#include <dualdecomposition_subgradient.hxx>
Inheritance diagram for opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >:
Collaboration diagram for opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >:Classes | |
| class | Parameter |
Public Types | |
| typedef GM | GmType |
| typedef GM | GraphicalModelType |
| typedef INF::AccumulationType | AccumulationType |
| typedef visitors::VerboseVisitor< DualDecompositionSubGradient< GM, INF, DUALBLOCK > > | VerboseVisitorType |
| typedef visitors::TimingVisitor< DualDecompositionSubGradient< GM, INF, DUALBLOCK > > | TimingVisitorType |
| typedef visitors::EmptyVisitor< DualDecompositionSubGradient< GM, INF, DUALBLOCK > > | EmptyVisitorType |
| typedef INF | InfType |
| typedef DUALBLOCK | DualBlockType |
| typedef DualDecompositionBase< GmType, DualBlockType > | DDBaseType |
| typedef DualBlockType::DualVariableType | DualVariableType |
| typedef DDBaseType::SubGmType | SubGmType |
| typedef DualBlockType::SubFactorType | SubFactorType |
| typedef DualBlockType::SubFactorListType | SubFactorListType |
| typedef DDBaseType::SubVariableType | SubVariableType |
| typedef DDBaseType::SubVariableListType | SubVariableListType |
Public Types inherited from opengm::Inference< GM, INF::AccumulationType > | |
| typedef GM | GraphicalModelType |
| typedef INF::AccumulationType | AccumulationType |
| typedef GraphicalModelType::LabelType | LabelType |
| typedef GraphicalModelType::IndexType | IndexType |
| typedef GraphicalModelType::ValueType | ValueType |
| typedef GraphicalModelType::OperatorType | OperatorType |
| typedef GraphicalModelType::FactorType | FactorType |
| typedef GraphicalModelType::IndependentFactorType | IndependentFactorType |
| typedef GraphicalModelType::FunctionIdentifier | FunctionIdentifier |
Public Types inherited from opengm::DualDecompositionBase< GM, DUALBLOCK > | |
| typedef GM | GmType |
| typedef GM | GraphicalModelType |
| typedef DUALBLOCK | DualBlockType |
| typedef DualBlockType::DualVariableType | DualVariableType |
| typedef ModelViewFunction< GmType, DualVariableType > | ViewFunctionType |
| typedef GraphicalModel< ValueType, OperatorType, typename meta::TypeListGenerator< ViewFunctionType >::type, opengm::DiscreteSpace< IndexType, LabelType > > | SubGmType |
| typedef GraphicalModelDecomposition | DecompositionType |
| typedef DecompositionType::SubVariable | SubVariableType |
| typedef DecompositionType::SubVariableListType | SubVariableListType |
| typedef DecompositionType::SubFactor | SubFactorType |
| typedef DecompositionType::SubFactorListType | SubFactorListType |
Public Member Functions | |
| DualDecompositionSubGradient (const GmType &) | |
| DualDecompositionSubGradient (const GmType &, const Parameter &) | |
| virtual std::string | name () const |
| virtual const GmType & | graphicalModel () const |
| virtual InferenceTermination | infer () |
| template<class VISITOR > | |
| InferenceTermination | infer (VISITOR &) |
| virtual ValueType | bound () const |
| return a bound on the solution More... | |
| virtual ValueType | value () const |
| return the solution (value) More... | |
| virtual InferenceTermination | arg (std::vector< LabelType > &, const size_t=1) const |
| output a solution More... | |
Public Member Functions inherited from opengm::Inference< GM, INF::AccumulationType > | |
| virtual | ~Inference () |
| virtual void | setStartingPoint (typename std::vector< LabelType >::const_iterator) |
| set initial labeling More... | |
| virtual InferenceTermination | args (std::vector< std::vector< LabelType > > &) const |
| virtual InferenceTermination | marginal (const size_t, IndependentFactorType &) const |
| output a solution for a marginal for a specific variable More... | |
| virtual InferenceTermination | factorMarginal (const size_t, IndependentFactorType &) const |
| output a solution for a marginal for all variables connected to a factor More... | |
| InferenceTermination | constrainedOptimum (std::vector< IndexType > &, std::vector< LabelType > &, std::vector< LabelType > &) const |
| InferenceTermination | modeFromMarginal (std::vector< LabelType > &) const |
| InferenceTermination | modeFromFactorMarginal (std::vector< LabelType > &) const |
Public Member Functions inherited from opengm::DualDecompositionBase< GM, DUALBLOCK > | |
| DualDecompositionBase (const GmType &) | |
| void | init (DualDecompositionBaseParameter &) |
| const SubGmType & | subModel (size_t subModelId) const |
Public Attributes | |
| OPENGM_GM_TYPE_TYPEDEFS | |
Public Attributes inherited from opengm::DualDecompositionBase< GM, DUALBLOCK > | |
| OPENGM_GM_TYPE_TYPEDEFS | |
Additional Inherited Members | |
Protected Member Functions inherited from opengm::DualDecompositionBase< GM, DUALBLOCK > | |
| template<class ITERATOR > | |
| void | addDualBlock (const SubFactorListType &, ITERATOR, ITERATOR) |
| std::vector< DualVariableType * > | getDualPointers (size_t) |
| template<class ACC > | |
| void | getBounds (const std::vector< std::vector< LabelType > > &, const std::vector< SubVariableListType > &, ValueType &, ValueType &, std::vector< LabelType > &) |
| double | subGradientNorm (double L=1) const |
Protected Attributes inherited from opengm::DualDecompositionBase< GM, DUALBLOCK > | |
| const GmType & | gm_ |
| std::vector< SubGmType > | subGm_ |
| std::vector< DualBlockType > | dualBlocks_ |
| size_t | numDualsOvercomplete_ |
| size_t | numDualsMinimal_ |
| std::vector< Tribool > | modelWithSameVariables_ |
Dual-Decomposition-Subgradient
Inference based on dual decomposition using sub-gradient descent
Reference:
Kappes, J. H. and Savchynskyy, B. and Schnoerr, C.: "A Bundle Approach To Efficient MAP-Inference by Lagrangian Relaxation". In CVPR 2012, 2012.
Definition at line 23 of file dualdecomposition_subgradient.hxx.
| typedef INF::AccumulationType opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >::AccumulationType |
Definition at line 29 of file dualdecomposition_subgradient.hxx.
| typedef DualDecompositionBase<GmType, DualBlockType> opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >::DDBaseType |
Definition at line 37 of file dualdecomposition_subgradient.hxx.
| typedef DUALBLOCK opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >::DualBlockType |
Definition at line 36 of file dualdecomposition_subgradient.hxx.
| typedef DualBlockType::DualVariableType opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >::DualVariableType |
Definition at line 39 of file dualdecomposition_subgradient.hxx.
| typedef visitors::EmptyVisitor<DualDecompositionSubGradient<GM, INF,DUALBLOCK> > opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >::EmptyVisitorType |
Definition at line 33 of file dualdecomposition_subgradient.hxx.
| typedef GM opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >::GmType |
Definition at line 27 of file dualdecomposition_subgradient.hxx.
| typedef GM opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >::GraphicalModelType |
Definition at line 28 of file dualdecomposition_subgradient.hxx.
| typedef INF opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >::InfType |
Definition at line 35 of file dualdecomposition_subgradient.hxx.
| typedef DualBlockType::SubFactorListType opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >::SubFactorListType |
Definition at line 42 of file dualdecomposition_subgradient.hxx.
| typedef DualBlockType::SubFactorType opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >::SubFactorType |
Definition at line 41 of file dualdecomposition_subgradient.hxx.
| typedef DDBaseType::SubGmType opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >::SubGmType |
Definition at line 40 of file dualdecomposition_subgradient.hxx.
| typedef DDBaseType::SubVariableListType opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >::SubVariableListType |
Definition at line 44 of file dualdecomposition_subgradient.hxx.
| typedef DDBaseType::SubVariableType opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >::SubVariableType |
Definition at line 43 of file dualdecomposition_subgradient.hxx.
| typedef visitors::TimingVisitor<DualDecompositionSubGradient<GM, INF,DUALBLOCK> > opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >::TimingVisitorType |
Definition at line 32 of file dualdecomposition_subgradient.hxx.
| typedef visitors::VerboseVisitor<DualDecompositionSubGradient<GM, INF,DUALBLOCK> > opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >::VerboseVisitorType |
Definition at line 31 of file dualdecomposition_subgradient.hxx.
| opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >::DualDecompositionSubGradient | ( | const GmType & | gm | ) |
Definition at line 100 of file dualdecomposition_subgradient.hxx.
Here is the call graph for this function:| opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >::DualDecompositionSubGradient | ( | const GmType & | gm, |
| const Parameter & | para | ||
| ) |
Definition at line 110 of file dualdecomposition_subgradient.hxx.
Here is the call graph for this function:
|
virtual |
output a solution
| [out] | arg | labeling |
| argIndex | solution index (1=best, 2=second best, etc.) |
Reimplemented from opengm::Inference< GM, INF::AccumulationType >.
Definition at line 259 of file dualdecomposition_subgradient.hxx.
|
virtual |
return a bound on the solution
Reimplemented from opengm::Inference< GM, INF::AccumulationType >.
Definition at line 277 of file dualdecomposition_subgradient.hxx.
|
inlinevirtual |
Implements opengm::Inference< GM, INF::AccumulationType >.
Definition at line 64 of file dualdecomposition_subgradient.hxx.
|
virtual |
Implements opengm::Inference< GM, INF::AccumulationType >.
Definition at line 150 of file dualdecomposition_subgradient.hxx.
| InferenceTermination opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >::infer | ( | VISITOR & | visitor | ) |
Definition at line 158 of file dualdecomposition_subgradient.hxx.
|
inlinevirtual |
Implements opengm::Inference< GM, INF::AccumulationType >.
Definition at line 63 of file dualdecomposition_subgradient.hxx.
|
virtual |
return the solution (value)
Reimplemented from opengm::Inference< GM, INF::AccumulationType >.
Definition at line 271 of file dualdecomposition_subgradient.hxx.
| opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >::OPENGM_GM_TYPE_TYPEDEFS |
Definition at line 30 of file dualdecomposition_subgradient.hxx.
1.8.9.1