zoukankan      html  css  js  c++  java
  • windows编译tensorflow c++库

    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. 步骤

      1. cmd 运行vcvarsall.bat amd64设置指定环境参数
      2. cd目录:tensorflowcontribcmake
      3. 创建build目录,cd build
      4. cmake命令

        1. cmake .. -G "Visual Studio 15 2017 Win64" -T host=x64 -DCMAKE_BUILD_TYPE=Release ^
        2. -Dtensorflow_VERBOSE=ON ^
        3. -Dtensorflow_ENABLE_GRPC_SUPPORT=OFF ^
        4. -Dtensorflow_BUILD_PYTHON_BINDINGS=OFF ^
        5. -Dtensorflow_BUILD_CC_EXAMPLE=OFF ^
        6. -Dtensorflow_BUILD_SHARED_LIB=ON ^
        7. -Dtensorflow_WIN_CPU_SIMD_OPTIONS=/arch:AVX
        8. #-DSWIG_EXECUTABLE=swig.exe的路径
        9. #-DPYTHON_EXECUTABLE=python.exe的路径(anaconda3路径/python.exe)
        10. #-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 ensorflowcontribcmakeCMakeLists.txt 中可查看,对于你拿不准的参数,保持其默认即可。

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

      6. 运行测试
  • 相关阅读:
    【漏洞分析】5次shift漏洞破解win7密码
    skyler实战渗透笔记(五)—Tr0ll
    skyler实战渗透笔记(四)—Raven2
    skyler实战渗透笔记(三)—Raven
    python读写excel文件
    python_列表
    mysql安装教程
    centos7安装RabbitMQ教程
    centos7安装mongodb4.2.15教程
    tomcat9安装教程
  • 原文地址:https://www.cnblogs.com/bicker/p/8966677.html
Copyright © 2011-2022 走看看