windows环境下配置tensorflow for C++完整流程

因为实验室的需要,需要将一个工程中的python模块用C++改写,python模块中用到了tensorflow架构,但是tensorflow作为一个对c++支持比较差的框架,为了解决其中的版本问题,我决定自己编译这个库来使用。

 

软件版本:VS2015update3+cuda9.0+tensorflow1.8+cudnn7

需要另外准备的软件:python3.5+swig3.0.12 +cmake3.11+git

上面这些软件官网下载都十分的简便,就不多说了,注意tensorflow要从git上下载c++源码,cmake和python要添加到环境变量里面(最方便的方法是安装的时候就选择添加到环境变量)

VS+CUDA+CUDNN的配置流程网上很多,我就不赘述了,下面有可能会遇到的问题

 

遇到问题1:VS2015安装结束后提示未完全成功安装,有一些模块已经安装过

解决方法1:卸载VS2015,并从控制面板卸载VS2015的所有编译器,再重新安装VS2015,切忌暴力卸载

遇到问题2:安装cuda的时候提示Visual Studio Intergation安装失败

解决方法2:安装时选择自定义安装,取消VS Intergation的勾选,再选择cuda离线版exe,用压缩软件解压,找到路径CUDAVisualSrudioIntergration\extras\visual_studio_intergration\MSBuildExtension文件夹里面的所有内容拷贝到C:\ProgramFiles(x86)\MSBuild\Microsoft.Cpp\v4.0\v140\BuildCustomizations路径下

 

接下来就是痛苦的编译流程了

1.打开cmake,在tensorflow-master/tensorflow-master/tensorflowcontib/cmake文件夹下新建一个文件夹叫做build,不带build的路径作为source code,带build的路径作为where to build the binaries

2.点击configure,编译器选择VS2015 Win64,然后会出现错误,其实原因是未选择swig的路径,选择一下就好,tf的一些选项我选的有BUILD_ALL_KERNELS,BUILD_CC_EXAMPLES,BUILD_CONTRIB_KERNELS,BUILD_SHARE_LIB,ENABLE_GPU,ENABLE_SNAPPY_SUPPORT,其他的根据自己需要选择。

3.点击generate生成,用VS2015打开tensorflow.sln,修改选项工具-->选项-->项目和解决方案-->生成并运行-->最大并行项目生成数修改为1,然后开心的生成ALL_BUILD,然后就挂了。

4.观察报错发现问题是一些依赖情况不明确,我们重新生成一下tf_core_kernel这个部分,如果不能成功就观察一下还有什么依赖项目没有编译,我是直接成功了的,然后进行编译tensorflow_static,遇到错误同理,再编译tensorflow即可,最终发现开心的生成了tensorflow.dll。

5.添加一下库依赖什么的(百度即可,资料很多),跑一下tf官网的example,发现成功啦!

第一次写博客,还请多多指教。

我的硬件设备似乎1080ti+32G内存,所以硬件条件不好的情况下可能会造成一次编译不成功(heap炸了之类的错误C1083这一类的),耐心反复几次应该也没有问题。

 

 

 

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值