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. 如何偷懒地用 PHP 搭建一个班级网站

    版权声明:本文由李宜东原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/116 来源:腾云阁 https://www.qclo ...

  2. SenchaTouch学习博客

    魔狼在世: http://www.cnblogs.com/mlzs/

  3. Weinre 远程调试移动端手机web页面

    调试场景 1.调试页面在手机上.2.调试工具在PC的chrome3.手机跟pc要在同一个网络环境下,也就是都使用一个wifi 一.安装 Weinre 1.Weinre是基于nodejs实现的,所以使用 ...

  4. Sublime Less 自动编译成css

    1.note编译 .下载notejs https://nodejs.org/en/ .首先你要安装lessc.我是用npm包管理器直接安装的,只需要一条命令,如下: npm install less ...

  5. Birt报表安装及制作

    一.Birt报表安装 二.Birt报表设置 1. file--> new --> Project 如下图所示创建报表工程. 输入工程名称后,创建完成. 2.创建报表 创建报表 完成创建. ...

  6. SpringIoc的精彩讲解

    学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...

  7. Oracle性能优化之Oracle里的执行计划

    一.执行计划 执行计划是目标SQL在oracle数据库中具体的执行步骤,oracle用来执行目标SQL语句的具体执行步骤的组合被称为执行计划. 二.如何查看oracle数据库的执行计划 oracle数 ...

  8. python设置redis过期时间

    import time import redis if __name__ == "__main__": try: conn=redis.StrictRedis(host='192. ...

  9. Key Set---hud5363(快速幂)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5363 #include <iostream> #include <cstdlib&g ...

  10. angular自定义指令命名的那个坑

    Directive 先从定义一个简单的指令开始. 定义一个指令本质上是在HTML中通过元素.属性.类或注释来添加功能.AngularJS的内置指令都是以ng开头,如果想自定义指令,建议自定义一个前缀代 ...