我想用c++代码去调用tensorflow训练的.pb模型,为此需要编译tensorflow源码。
我的环境:
- win10
- VS2015(Update 3) 注:我试了VS2015没有包含Update 3、VS2013、VS2017、结果都报编译器堆空间不足这个错误
- Anconda3 注:添加路径到环境变量
- tensorflow-r1.5 注:最新版本容易报错,最好是在1.5和1.6这两个版本选择
- cmake-3.12.1 注:尽量保持最新版本,将路径添加到环境变量
- 安装git 注:在编译时会通过git下载相关文件
好了,材料准备齐了,那开始动手:
步骤1:下载tensorflow-r1.5源码,然后解压,我的解压路径是D:\tensorflow-r1.5,然后到路径D:\tensorflow-r1.5\tensorflow\contrib\cmake下面新建一个文件夹build
步骤2:打开VS2015(含Update 3)的VS2015 x64 本机工具命令提示符,如下图
步骤3:在工具命令提示符中输入cd D:\tensorflow-r1.5\tensorflow\contrib\cmake\build到build目录下
输入如下cmake命令:
cmake .. -G "Visual Studio 14 2015 Win64"
-T host=x64
-DCMAKE_BUILD_TYPE=Release
-Dtensorflow_VERBOSE=ON
-Dtensorflow_ENABLE_GRPC_SUPPORT=OFF -Dtensorflow_BUILD_PYTHON_BINDINGS=OFF -Dtensorflow_BUILD_CC_EXAMPLE=OFF
-Dtensorflow_BUILD_SHARED_LIB=ON
注意: 不建议使用cmake-gui形式,直接到VS2015 x64 本机工具命令提示符下使用命令行进行camke,一定要加上-T host=x64
步骤4:使用VS2015打开build文件下的tensorflow.sln
步骤5:然后就是漫长的等待过程,我电脑配置一般,等了5-6个小时。