RWTHLM是德国RWTH Aachen University开源的语言模型工具,包含LSTM、FNN、RNN各种网络结构。其代码由c++书写,是学习神经网络的好资料。
下载地址:http://slimemeteor.blogspot.com/2010/09/boost-lib-build-with-zlib-for-iostream.html
由于我习惯了在windows下调试程序,就在vs2013上搭建了一个调试环境,便于学习和代码跟踪。
注意:不要试图在vs2012上编译,因为对c++11的特性支持不完整,源代码有的地方是编译不过去的(stl::make_shared<>,类似的几个语句)。如果你已经安装了vs2012,那么请果断卸载,并安装vs2013。
安装步骤:
1.安装Intel并行库,我下载的是w_ccompxe_2013.3.171.exe。并行库的安装没什么特别的默认到底即可。
2.下载zlib1.2.8并解压
3.安装boost,下载版本:boost_1_53_0.zip,需要注意的是要把zlib一起编译,因为rwthlm需要。
打开vs2013自带的 "VS2013开发人员命令提示",定位到boost目录下,运行以下两条命令:
bootstrap.bat
bjam.exe --toolset=msvc -sZLIB_SOURCE="f:\zlib1.2.8" --with-iostreams --build-type=complete
编译完成后,在boost_1_53_0/stage/lib 下生成静态链接库。
4.打开vs2013,创建工程rwthlm,添加源代码,将intel下的fast.h random.h复制到上层目录,覆盖同名文件。
添加 boost、mkl、ipp的头文件路径到附加包含目录,
添加 mkl_rt.lib, libiomp5md.lib, ippi.lib, ipps.lib, ipcore.lib。 添加boost相关的lib到附加依赖项中(可能需要修改lib库名称,共7个)。 boost_iostreams-vc-mt-gd-1_53.lib -> boost_iostreams-vc110-mt-gd-1_53.lib libboost_date_time-vc-mt-gd-1_53.lib -> libboost_date_time-vc110-mt-gd-1_53.lib ...
5.在系统环境变量中添加 C:\Program Files\Intel\Composer XE 2013\redist\ia32\ipp与C:\Program Files\Intel\Composer XE 2013\redist\ia32\mkl
注意,需要注销系统,重新登录后方能生效。 6.在预处理器中添加以下两项: _SCL_SECURE_NO_WARNINGS;_VARIADIC_MAX=9;
7.编译生成rwthlm.exe并运行即可。