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. java基础---->Comparable和Comparator的使用

    Comparable和Comparator都可以实现排序,今天我们就开始两种比较排序接口的学习. Comparable的使用 一.Comparable的文档说明: Lists (and arrays) ...

  2. LeetCode——Largest Number

    Description: Given a list of non negative integers, arrange them such that they form the largest num ...

  3. libvirt kvm 虚拟机上网 – Bridge桥接

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

  4. 【BZOJ5100】[POI2018]Plan metra 构造

    [BZOJ5100][POI2018]Plan metra Description 有一棵n个点的无根树,每条边有一个正整数权值,表示长度,定义两点距离为在树上的最短路径的长度. 已知2到n-1每个点 ...

  5. vscode 中使用 csscomb

    我看中 csscomb 主要是用来给 css 属性排序用的,当然他也有格式化的作用: 1.安装不必说,但是装了之后,默认似乎没用: 2.点开 文件-首选项,搜下 csscomb 就知道了: 3.第一个 ...

  6. RPM命令详解(安装、升级、卸载)

    rpm 常用命令1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.卸载一个包 # rpm -e 4.安装参数 --force 即使覆盖属于其它包的文件也强迫安装 --no ...

  7. Asp.net读取和写入txt文件方法(实例)!

    Asp.NET读取和写入txt文件方法(实例)! [程序第一行的引入命名空间文件 - 参考] System; using System.Collections; using System.Config ...

  8. 关于#ifndef以及#ifndef WIN32

    一般用法是这样的: 这里可以定义如下: #define XXXXX #ifdef XXXXX 这里做一些操作,这些操作只有在XXXX已经被define的情况下才会执行到.一般还可能有else,如 #e ...

  9. django后台获取相同name名的数据

    django后台获取相同name名的post数据html: <form method="post"> <input type="text" n ...

  10. Jscript运行时错误:没有权限

    问题:我在页面A中放了一个iframe ,然后在iframe 的子页面中调用主页面中的JavaScript函数,结果报错Jscript运行时错误:没有权限 原因有2: 1. 是逻辑错误,比如先关闭了i ...