Windows8.1(64位)下用vs2013编译cxxnet

1.      下载

关于cxxnet的平台请参考http://www.csdn.net/article/2015-05-21/2824742?reload=1

https://github.com/dmlc下载cxxnet、dmlc-core、rabit、m-shadow,另外就是parameter_server是可选择的,本教程不包括。Opencv在官网下载即可,最好是2.4.10版本的,这样cxxnet的解决方案中就不必修改了。Openblas下载最新的即可。

2.      工程属性修改

在cxxnet/windows/3rdparty目录下拷贝opencv和openblas相关文件,拷哪些文件可参考cxxnet.vcxproj内容,同时需要将cxxnet.vcxproj中的cuda6.5改成你安装的cuda的版本(一般有两处),然后才能顺利打开sln。其他几个配套的库,dmlc-core和rabit需要单独编译成lib库,也需要修改对应的vcxproj文件,m-shadow是和cxxnet一起编译的,所以不需要。

配置dmlc-core库时,将平台修改为x64,附加包含目录添加 $(SolutionDir)\..\..\dmlc-core\include,配置类型改为静态库lib,平台工具集要保持统一,我采用v120(否则后期会报版本错),编译成功后将dmlc.lib的目录添加到cxxnet的库目录中并添加附加依赖项,或者将dmlc.lib拷贝到cxxnet已有库目录中并添加附加依赖项。

Rabit与dmlc-core差不多,不再赘述。

3.      代码修改

在各种依赖库都齐全后,立即编译cxxnet还会出问题,因为cxxnet的windows更新没有原linux版本的速度快,因此会报错。

a)      /ox与/rtc1命令行选项不兼容

将优化选项改为/od

b)      'Assert' : is not a member of'cxxnet::utils'

将cxxnet::utils改为rabit::utils::Assert

c)       syntax error : identifier'ImageRecordIOIterator'

"iter_image_recordio-inl.hpp"文件中添加#define DMLC_USE_CXX11 1

4.      运行。

编译成功后,在example/mnist目录下新建data和models目录,data下需要的四个mnist文件不再赘述,再添加bat文件,内容如下:

..\..\bin\cxxnet.exe MNIST.conf

Pause

运行bat文件,可能会报错,需要libgfortran-3.dll,则下载adda_1.2_win64(https://a-dda.googlecode.com/files/adda_1.2_win64.zip),将其中的libgfortran_64-3.dll和libquadmath_64-0.dll拷贝到cxxnet的bin目录下,并将libgfortran_64-3.dll修改为libgfortran-3.dll即可。

然后运行bat文件即可,如下图所示。



  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值