1.获取python3.5.x

https://www.python.org/ftp/python/3.5.4/python-3.5.4-amd64.exe

2.安装python3.5.x,默认安装即可,安装后将路径添加到环境变量PATH中

笔者安装后python的路径为:C:\Users\jello\AppData\Local\Programs\Python\Python35

pip路径为:C:\Users\jello\AppData\Local\Programs\Python\Python35\Scripts

3.安装tensorflow的依赖包

pip3 install six numpy wheel

pip3 install keras_applications==1.0.6 --no-deps
pip3 install keras_preprocessing==1.0.5 --no-deps

4.获取MSYS2

http://repo.msys2.org/distrib/x86_64/msys2-x86_64-20180531.exe

5.安装MSYS2

5.1添加路径C:\msys64\usr\bin到PATH环境变量

5.2安装git patch unzip等软件

pacman -S git patch unzip

6.获取Visual C++ Build Tools 2015

https://www.microsoft.com/en-us/download/details.aspx?id=48159

7.安装Visual C++ Build Tools 2015

8.获取Microsoft Visual C++ 2015 Redistributable Update 3

https://www.microsoft.com/en-us/download/details.aspx?id=53587

9.安装Microsoft Visual C++ 2015 Redistributable Update 3 (如果安装无法进行,可能有其它版本,卸载最新版本即可,如安装2013 和2017,那么卸载2017这个版本即可)

10.获取Visual Studio 2015

https://download.microsoft.com/download/b/e/d/bedddfc4-55f4-4748-90a8-ffe38a40e89f/vs2015.3.com_enu.iso

11.安装Visual Studio 2015

 

12.获取bazel

https://github.com/bazelbuild/bazel/releases (从此链接选择合适的版本即可)

13.安装bazel (依赖MSYS2和Visual C++ Build Tools 2015),安装方法如下

将文件bazel-0.21.0-windows-x86_64重命名为bazel,然后将文件bazel放到C:\msys64\usr\bin目录下

14.获取tensorflow源码

git clone https://github.com/tensorflow/tensorflow.git (如果使用git无法获取源码,提示fatal: BUG: disabling cancellation: Invalid argument,那么直接去github上下载源码压缩包即可)
cd tensorflow git checkout remotes/origin/r1.13

15.配置tensorflow

python ./configure.py

笔者的配置如下:

C:\Users\jello\tensorflow>python ./configure.py
WARNING: The following rc files are no longer being read, please transfer their contents or import their path into one of the standard rc files:
nul
WARNING: --batch mode is deprecated. Please instead explicitly shut down your Bazel server using the command "bazel shutdown".
INFO: Invocation ID: 89e98bd0-d528-40ac-ac67-87aa0682b890
You have bazel 0.21.0 installed.
Please specify the location of python. [Default is C:\Users\jello\AppData\Local\Programs\Python\Python35\python.exe]:

Found possible Python library paths:
C:\Users\jello\AppData\Local\Programs\Python\Python35\lib\site-packages
Please input the desired Python library path to use. Default is [C:\Users\jello\AppData\Local\Programs\Python\Python35\lib\site-packages]

Do you wish to build TensorFlow with XLA JIT support? [y/N]: n
No XLA JIT support will be enabled for TensorFlow.

Do you wish to build TensorFlow with ROCm support? [y/N]: n
No ROCm support will be enabled for TensorFlow.

Do you wish to build TensorFlow with CUDA support? [y/N]: n
No CUDA support will be enabled for TensorFlow.

Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is /arch:AVX]:

Preconfigured Bazel build configs. You can use any of the below by adding "--config=<>" to your build command. See .bazelrc for more details.

16.构建tensorflow pip包

方法一:在cmd中构建

16.1 设置变量
set BAZEL_VS=C:\Program Files (x86)\Microsoft Visual Studio 14.0  (这个变量是用来告知bazel,Visual Studio所安装的目录)
16.2 bazel build -c opt --copt=-msse4.1 --copt=-msse4.2 --copt=-mavx --copt=-mavx2 --copt=-mfma --copt=-O3 //tensorflow/tools/pip_package:build_pip_package
16.3 bazel-bin\tensorflow\tools\pip_package\build_pip_package C:/tmp/tensorflow_pkg

方法二:在MSYS2中构建
16.1 启动MSYS2
16.2 禁用MSYS2路径转换
export MSYS_NO_PATHCONV=1
export MSYS2_ARG_CONV_EXCL="*"
16.3 设置环境变量
export PATH="/c/Users/jello/AppData/Local/Programs/Python/Python35:$PATH" (将python的路径加入环境变量PATH中)

16.4 获取tensorflow源码
16.5 bazel build -c opt --copt=-msse4.1 --copt=-msse4.2 --copt=-mavx --copt=-mavx2 --copt=-mfma --copt=-O3 //tensorflow/tools/pip_package:build_pip_package
16.6 bazel-bin\tensorflow\tools\pip_package\build_pip_package C:/tmp/tensorflow_pkg

17.安装tensorflow

pip3 install C:/tmp/tensorflow_pkg/tensorflow-version-cp35-cp35m-win_amd64.whl

18.参考资料

https://www.tensorflow.org/install/source_windows

windows10下如何进行源码编译安装tensorflow的更多相关文章

  1. centos7 源码编译安装TensorFlow CPU 版本

    一.前言 我们都知道,普通使用pip安装的TensorFlow是万金油版本,当你运行的时候,会提示你不是当前电脑中最优的版本,特别是CPU版本,没有使用指令集优化会让TensorFlow用起来更慢. ...

  2. Mac下使用源码编译安装TensorFlow CPU版本

    1.安装必要的软件 1.1.安装JDK 8 (1)JDK 8 can be downloaded from Oracle's JDK Page: http://www.oracle.com/techn ...

  3. Ubuntu源码编译安装tensorflow

    ubuntu14 cuda9.0_384.81 驱动版本384.90  cudnn7.2 tensorflow1.8 https://blog.csdn.net/pkokocl/article/det ...

  4. Linux下源码编译安装rpy2

    R(又称R语言)是一款开源的跨平台的数值统计和数值图形化展现工具.rpy2是Python直接调用R的第三方库,它可以实现使用python读取R的对象.调用R的方法以及Python与R数据结构转换等.这 ...

  5. Ubuntu 17.04版本下,opencv进行源码编译安装

    本文主要针对Ubuntu 17.04版本下,opencv进行源码编译安装.开发环境主要针对python 对 openCV库的调用. 安装 gcc cmake 编译环境 sudo apt-get ins ...

  6. 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)

    写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...

  7. Linux 下源码编译安装 vim 8.1

    前言 目前 linux 的各个发行版基本上都是带了一个 vi 编辑器的,而本文要说的 vim 编辑器对 vi 做了一些优化升级,更好用.当我们需要远程操作一台 linux 服务器的时候,只能使用命令行 ...

  8. centos 7 下 rabbitmq 3.8.0 & erlang 22.1 源码编译安装

    centos 7 下 rabbitmq 3.8.0 & erlang 22.1 源码编译安装 安装前请检查好erlang和rabbitmq版本是否相匹配参考:RabbitMQ Erlang V ...

  9. CentOS 6.6 下源码编译安装MySQL 5.7.5

    版权声明:转自:http://www.linuxidc.com/Linux/2015-08/121667.htm 说明:CentOS 6.6 下源码编译安装MySQL 5.7.5 1. 安装相关工具# ...

随机推荐

  1. MyBatis——Java API

    Java API 既然你已经知道如何配置 MyBatis 和创建映射文件,你就已经准备好来提升技能了. MyBatis 的 Java API 就是你收获你所做的努力的地方.正如你即将看到的,和 JDB ...

  2. WEB安全第一篇--对服务器的致命一击:代码与命令注入

    零.前言 最近做专心web安全有一段时间了,但是目测后面的活会有些复杂,涉及到更多的中间件.底层安全.漏洞研究与安全建设等越来越复杂的东东,所以在这里想写一个系列关于web安全基础以及一些讨巧的pay ...

  3. 补课:PageRank

    最近连续听到PageRank算法,久闻其名,不闻其详,心里虚得很,今儿补补课. PageRank算法的网络资料非常全面,毕竟是将近二十年的经典算法,算法细节可以参考文末链接,这里简单说说我的理解. P ...

  4. Redis高级进阶

    目录 本章目标 Redis配置文件 Redis存储 Redis事务 Redis发布订阅 Redis安全 本章目标 Redis配置文件 Redis的存储 Redis的事务 Redis发布订阅 Redis ...

  5. reflect 机制

    1: Class.forName的作用?为什么要用? 答:调用该访问返回一个以字符串指定类名的类的对象. 2: 通过反射,有几种方法可以实例化Class类对象? 3种,第一种:Class.forNam ...

  6. VS2012编译FFmpeg 2.1.4

    这次的目标是完整编译FFmpeg包括汇编代码,并且尽量少修改源代码. 环境是WIN7 64位,VS2012, Intel.Parallel.Studio.XE.2013.SP1 一. 安装MinGW, ...

  7. Lucene.net之解决锁的问题

    public sealed class SearchIndexManager { private static readonly SearchIndexManager searchManager=ne ...

  8. ES_DEVOPS-1

    When dealing with a large number of parallel operations in elasticsearch, such as search requests or ...

  9. OSX: 下载Flash Player的脚本

    http://blog.csdn.net/cneducation/article/details/54742983

  10. SQLAlchemy中scoped_session实现线程安全

    不多说,先上代码 from sqlalchemy.orm import sessionmaker from sqlalchemy import create_engine from sqlalchem ...