Windows运维之windows 下编译tensorflow c++库过程记录
小标 2018-09-03 来源 : 阅读 2801 评论 0

摘要:本文主要向大家介绍了Windows运维之windows 下编译tensorflow c++库过程记录,通过具体的内容向大家展现,希望对大家学习Windows运维有所帮助。

本文主要向大家介绍了Windows运维之windows 下编译tensorflow c++库过程记录,通过具体的内容向大家展现,希望对大家学习Windows运维有所帮助。

1. 准备

windows 10系统、3.6GHz cpu、16G 内存
visual studio 2017 or 2015
下载安装git
下载安装cmake
下载安装swigwin 如果不需要python bindings,可以跳过
clone tensorflow
切换tensorflow到要进行编译的git tag
修改tensorflow/contrib/cmake/CMakeLists.txt

if (tensorflow_OPTIMIZE_FOR_NATIVE_ARCH)
  include(CheckCXXCompilerFlag)
  CHECK_CXX_COMPILER_FLAG("-march=native" COMPILER_OPT_ARCH_NATIVE_SUPPORTED)
  if (COMPILER_OPT_ARCH_NATIVE_SUPPORTED)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
# 添加下面这部分
  else()
    CHECK_CXX_COMPILER_FLAG("/arch:AVX" COMPILER_OPT_ARCH_AVX_SUPPORTED)
    if (COMPILER_OPT_ARCH_AVX_SUPPORTED)
      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /arch:AVX")
    endif()
# end of 添加下面这部分
  endif()
endif()

 


2. 步骤

cmd 运行vcvarsall.bat amd64设置指定环境参数
cd目录:tensorflow\contrib\cmake
创建build目录,cd build

cmake命令

cmake .. -G "Visual Studio 15 2017 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 ^
-Dtensorflow_WIN_CPU_SIMD_OPTIONS=/arch:AVX


#-DSWIG_EXECUTABLE=swig.exe的路径
#-DPYTHON_EXECUTABLE=python.exe的路径(anaconda3路径/python.exe)
#-DPYTHON_LIBRARIES=python35.lib的路径(anaconda3路径/libs/python35.lib)


上面的命令说明: -G 指定生成目标版本。命令行输入cmake -G,可以查看可选的版本列表。 -T host=64 是网上很多教程忽略的一点,我之前也用VS2017编译过,因为没有指定-T host=64,导致使用了32位的编译器,出现fatal error C1060: "编译器的堆空间不足"的错误。 tensorflow_VERBOSE 编译时输出具体信息,设为ON些许降低编译速度。 tensorflow_ENABLE_GRPC_SUPPORT GRPC支持,如果你有服务器/客户端的业务需求,或者跨语言GRPC使用需求的话,选择ON。 tensorflow_BUILD_PYTHON_BINDINGS 需要编译python包的话选择ON。 tensorflow_BUILD_CC_EXAMPLE 编译测试代码。 tensorflow_BUILD_SHARED_LIB 编译共享库。 tensorflow_WIN_CPU_SIMD_OPTIONS=/arch:AVX2 选择AVX还是AVX2,取决于你的CPU是否支持该指令集。 tensorflow_ENABLE_GPU 编译是否使用GPU。 tensorflow_OPTIMIZE_FOR_NATIVE_ARCH可设为OFF也可以不设置,会自动判断。 其他可选参数在 tensorflow\tensorflow\contrib\cmake\CMakeLists.txt 中可查看,对于你拿不准的参数,保持其默认即可。

编译 MSBuild /p:Configuration=Release /p:Platform=x64 /verbosity:detailed tensorflow.vcxproj这里强调一点,Configuration定义的要与cmake时DCMAKE_BUILD_TYPE定义相同

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注系统运维windows频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 1
看完这篇文章有何感觉?已经有2人表态,50%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程