OpenGM
介绍:
是一个用于离散因子图模型和这些模型的分布式操作的C ++模板库。 它包括最先进的优化和推理算法,超越了消息传递。 OpenGM可以有效地处理大型模型,因为(i)重复出现的功能只需要存储一次,(ii)当函数需要不同的参数或非参数编码时,可以在同一模型中使用多个编码,使用 包含和定制的C ++代码。 对因子图或模型的操作没有限制。 OpenGM是模块化和可扩展的。 可以选择基本数据类型以最大限度地提高效率。 图形模型数据结构,推理算法和功能的不同编码通过界定明确的界面进行交互操作。 二进制OpenGM文件格式基于HDF5标准,并自动并入用户扩展。
HDF5的介绍:
官方网站:https://support.hdfgroup.org/HDF5/whatishdf5.html
HDF5(Hierarchical Data Format)分层数据格式(HDF)是一组用于存储和组织大量数据的文件格式(HDF4,HDF5)。HDF由许多商业和非商业软件平台支持,包括Java,MATLAB,Scilab,Octave,Mathematica,IDL,Python,R和Julia。 可免费使用的HDF分发包括库,命令行实用程序,测试套件源,Java接口和基于Java的HDF Viewer(HDFView)。HDF5数据模型,文件格式,API,库和工具是免费开放和发布的。
1) 可以代表非常复杂的数据对象和各种元数据的通用数据模型。
2) 完全可移植的文件格式,对集合中数据对象的数量或大小没有限制
3) 一个软件库,运行在一系列计算平台上,从笔记本电脑到大规模并行系统,并通过C,C ++,Fortran 90和Java接口实现高级API。
4) 丰富的集成性能功能,可实现访问时间和存储空间优化。
5) 用于管理,操纵,查看和分析集合中的数据的工具和应用程序
OpenGM 2.0 Manual
下载openGM
http://hciweb2.iwr.uni-heidelberg.de/opengm/
OpenGM是一个头文件C ++模板库,可以通过简单地在所需位置解压缩归档来使用它。 然而,Open GM还附带了使用Cross Platform Make(CMake)构建的命令行工具,教程和单元测试。因此我们下载CMake并安装,Cmake的操作过程如下:
l Select the source directory.
l Select a build directory that is dierent form the source directory.
l Activate the check boxes labeled “Grouped” and “Advanced” for a comprehensive and structured overview of options.
l Click the button labeled “Configure” and follow the instructions.
l Click the button labeled “Generate” and follow the instructions.
打开生成的工程文件后我们来配置openGM的环境变量:
在下面两个红色方框里输入:D:\Program Files\opengm-2.0
配置工程项目的包含文件也就是#include <...>
打开vs2013:点击项目的属性管理器->选中ALL_BUILD点击鼠标右键->在下拉菜单中选中属性->配置属性->VC++目录->包含目录。加入下列地址(根据自己的安装位置可更改此地址):
D:\Program Files\opengm-2.0\include\opengm\utilities
D:\Program Files\opengm-2.0\include\opengm\unittests
D:\Program Files\opengm-2.0\include\opengm\operations
D:\Program Files\opengm-2.0\include\opengm\models
D:\Program Files\opengm-2.0\include\opengm\inference
D:\Program Files\opengm-2.0\include\opengm\graphicalmodel
D:\Program Files\opengm-2.0\include\opengm\functions
D:\Program Files\opengm-2.0\include\opengm\datastructures
D:\Program Files\opengm-2.0\include\opengm
D:\Program Files\opengm-2.0\include
点击确定。
到此为止,使用CMake编译OpenGM的配置已经完成。
参考文献
http://hciweb2.iwr.uni-heidelberg.de/opengm/download/opengm-2.0.2-beta-manual.pdf