为了解决:已经用python训练好了一个模型,如何用C++去调用这个模型的问题,特进行win10下vs2013编译tf的操作,在此做一个记录。
一、参考博文
1、https://blog.csdn.net/jiugeshao/article/details/79144438
2、https://zhuanlan.zhihu.com/p/29029860
3、https://blog.csdn.net/h8832077/article/details/78988488
二、准备工具
1、本文选择编译1.4版本,tf1.4源码下载地址 下载后得到tensorflow-r1.4.zip的文件(也可以从这里下载)
2、swig下载 选择swigwin-3.0.12 进行下载 点击即可下载
三、cmake预编译工程
1、源目录选择 tensorflow1.4/tensorflow-r1.4/tensorflow/contrib/cmake
2、目标目录根据自己情况进行选择。记得一定要勾选 Grouped和 Advanced两个选项。
3、点击 Configure 。选择 Visual Studio 12 2013(为X86版本,如果需要X64版本,选择Visual Studio 12 2013 Win64)
4、出现如下报错: 详细如链接博文中3-(4)所示
CMake Error at cmake3.10.0/cmake-3.10.0-rc1-win64-x64/share/cmake-3.10/Modules/ExternalProject.cmake:2272 (message): error: could not find git for clone of zlib Call Stack (most recent call first): cmake3.10.0/cmake-3.10.0-rc1-win64-x64/share/cmake-3.10/Modules/ExternalProject.cmake:3026 (_ep_add_download_command) external/zlib.cmake:37 (ExternalProject_Add) CMakeLists.txt:114 (include)
解决办法:大多是因为swig没找到或者git没找到,把相应路径添加即可。
5、多次Configure之后,直到没有红色突出显示为止。
6、展开tensorflow 这个tag, 并做如下勾选
7、点击 Generate。完成预编译工程的生成。
四、编译tensorflow解决方案
1、打开tensorflow.sln,会有160个项目
2、点击菜单栏里的工具(T),选择选项按钮,在《项目和解决方案》下选择《生成并运行》项, 做如下配置:设置最大并行项目生成数为1 如链接中3-(10)所示
3、选择ALL BUILD 项目,右键BUILD。会下载很多东西,漫长的等待。。。
遇到了很多报错,暂未解决。。。。