在 Windows 10 下搭建 TensorFlow (Keras) 机器学习环境

通过本教程,你将学会在 Windows 10 下简单搭建 Anaconda 3 + Python 3.6 + TensorFlow 1.8 + CUDA 9.0 + cuDNN 7.1 + MinGW + Keras 2.1 + Spyder or Jupyter 的机器学习环境

由于最近要完成一个关于机器学习的项目,经过好几次折腾,终于总结出了一个较为完整的在 Windows 下的安装教程:

预告:最近尝试使用 Windows 下的 Linux 子系统来搭建机器学习环境。

目前,经测试在 Windows 10 Pro 1803 x64 的系统中成功运行如下机器学习环境:

  1. Windows 10(首先你要有一台运行 Windows 10 最新版本的电脑)
  2. CUDA 9.0(不要问为什么不用最新版本的,TensorFlow 会对9.1报错的)
  3. cuDNN 7.1(这个可以是最新版不过要对应相应的 CUDA 版本)
  4. MinGW(GCC编译器套件,避免报错 gpu sync failed)
  5. Anaconda 3(建议去官网上下载,后附下载链接)
  6. Spyder(可以使用其他的编译器,不过建议之前用过 MATLAB 优先使用)
  7. Jupyter(另一款比较热门的编译器,UI 界面较为好看)
  8. TensorFlow 1.8(还记得我们这次的主角是什么嘛,P.S. 官网上的中文页面竟然没有改版本号)
  9. Keras 2.1(基于 TensorFlow 后端支持)

随后,这里会附上所有安装文件的百度网盘地址 (密码: 1knp),安装文件内容不断更新中。。。关于使用conda install指令下载过慢的问题(校园网可以通过使用ipv6解决),待我进一步研究后,给出相应的解决方案!

一、安装 CUDA® 工具包 9.0 和 cuDNN v7.1

根据官方文档介绍,TensorFlow 有以下两种版本:
仅支持 CPU 的 TensorFlow。如果您的系统没有 NVIDIA® GPU,就必须安装此版本。请注意,此版本的 TensorFlow 通常更容易安装(用时通常在 5 或 10 分钟内),所以即使您拥有 NVIDIA GPU,我们也建议先安装此版本。预先构建的二进制文件将使用 AVX 指令。
支持 GPU 的 TensorFlow。TensorFlow 程序在 GPU 上的运行速度通常要比在 CPU 上快得多。因此,如果您的系统配有满足以下所示先决条件的 NVIDIA® GPU,并且您需要运行性能至关重要的应用,则最终应安装此版本。

由此需要先确认自由拥有一台 NVIDIA® 的显卡,并且算力在3.0或更高,如需了解支持的 GPU 卡的列表,请参阅 NVIDIA 文档。如果满足上述要求,并需要安装支持 GPU 的 TensorFlow,那么需要按照本节内容进行安装。

1.1 下载 CUDA® 工具包 9.0 和 cuDNN v7.1

  1. 前往 CUDA® 工具包 9.0 官网 并按照下图选择在线 (network) 或者离线 (local) 安装包进行下载。
CUDA® 工具包 9.0 官网
  1. 前往 cuDNN v7.1 官网 并根据提示注册会员并完成下载。
cuDNN v7.1 官网
  1. 至此关于 NVIDIA® GPU 所需要的所有安装文件已经准备就绪:
所需要的所有文件

1.2 安装 CUDA® 工具包 9.0 和 cuDNN v7.1

  1. 运行cuda_9.0.176_win10.exe,并按照提示安装,在这里需要注意:并不需要安装完整的VS平台,仅需要cpp编译器即可(随后会说明如何安装GCC编译器套件)

  2. 安装过程中屏幕会有闪烁,为正常现象,不要慌张!!

  3. 可以选择安装升级补丁,笔者没有装,目前还蛮好的,也不知道装了以后会不会出事!

  4. CUDA® 工具包 9.0 安装完成后,转到安装目录%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v9.0,将cudnn-9.0-windows10-x64-v7.1.zip中的文件按照文件结构解压到该目录下,并于相应文件夹进行合并。

cudnn-9.0-windows10-x64-v7.1.zip 文件结构

1.3 测试安装结果

在命令提示符(运行中输入cmd或在PowerShell中输入cmd,下同)中输入(大写的!大写的!大写的!):

nvcc -V

如果有如下提示安装信息,就说明大致是安装成功了。

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:32_Central_Daylight_Time_2017
Cuda compilation tools, release 9.0, V9.0.176

二、安装 MinGW GCC 编译器套件

如果是首次在 Windows 10 下搭建 TensorFlow 机器学习环境,并且电脑中之前没有安装过 VS 套件,那么在此强力建议安装此编译器套件。
在使用 Keras 时运行出现报错gpu sync failed。这个问题多半是因为缺少相应的cpp编译器导致的。

2.1 下载 MinGW

前往 MinGW 官网 下载最新版本的 MinGW GCC 编译器套件,下载按钮在右上角Download Installer(貌似需要在线安装,好吧就是在线安装)!

MinGW 官网

2.2 安装 MinGW

万事始于 Double Click 。双击安装文件mingw-get-setup.exe按照提示完成安装即可!

至此 CUDA® 工具包 9.0 及其相应编译环境已经安装就绪了!同学,不妨跑个样例试试!

三、安装 Anaconda 3 集成 Python 3.6 环境

3.1 下载 Anaconda 3

前往 Anaconda 3 官网 下载最新版本的 Anaconda 3 集成环境。

Anaconda 3 官网

2.2 安装 Anaconda 3

运行安装软件Anaconda3-5.1.0-Windows-x86_64.exe,按照默认提示进行安装。

3.3 测试安装结果

  1. 安装完成后在开始菜单下找到如下两个程序 Anaconda Navigator(集成环境导航软件)和 Anaconda Prompt(控制台)
开始菜单中的文件
  1. 打开 Anaconda 3 控制台(Anaconda Prompt,下同)输入python显示相应版本的提示信息则表示安装成功。
(base) C:\Users\user>python
Python 3.6.5 |Anaconda custom (64-bit)| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

四、安装 TensorFlow

4.1 按照以下步骤在 Anaconda 环境中安装 TensorFlow

  1. 调用以下命令创建名为 TensorFlow 的 Conda 环境(或者可以创建一个自己喜欢的环境名称,将tensorflow字段改为keras myspace等等,后文也需要输入相应的环境名称!):
conda create -n tensorflow pip python
  1. 调用以下命令以激活 Conda 中搭建的 TensorFlow 环境(调用deactivate命令以退出当前环境)
activate tensorflow
  1. 调用以下命令更新该环境下的所有库(避免随后出现各种问题),直到出现下方提示(安装时长取决于当地网络状况):
conda upgrade --all
(base) C:\Users\user>conda upgrade --all
Solving environment: done

# All requested packages already installed.
  1. 调用以下命令以在 conda 环境中安装 TensorFlow。要安装仅支持 CPU 的 TensorFlow 版本,请输入以下命令:
pip install --ignore-installed --upgrade tensorflow
  1. 安装 GPU 版本的 TensorFlow,请输入以下命令(在同一行):
pip install --ignore-installed --upgrade tensorflow-gpu

4.2 验证 Anaconda 环境下 TensorFlow 的安装

  1. 启动 Anaconda 控制台。

  2. 输入以下命令以激活 Conda 中自建的 TensorFlow 环境:

activate tensorflow
  1. 输入以下命令调用 Python:
python
  1. 在 Python 交互式 shell 中输入以下几行简短的程序代码:
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
  1. 如果系统输出以下内容之一,就说明您可以开始编写 TensorFlow 程序了:
Hello, TensorFlow!
b'Hello, TensorFlow!'
  1. 如果系统输出一条错误消息而不是问候语,请参阅常见的安装问题

  2. 此外,您还可以使用一个有用的脚本检查 Windows TensorFlow 安装问题。

4.3 常见的安装问题(官方文档)

我们借助 Stack Overflow 来记录 TensorFlow 安装问题及其补救措施。下表包含了 Stack Overflow 上一些常见安装问题解答的链接。如果您遇到了下表中未列出的错误消息或其他安装问题,请在 Stack Overflow 上进行搜索。如果 Stack Overflow 中没有显示相关错误消息,请在 Stack Overflow 上提一个新的问题,并指定 tensorflow 标签。

错误代码 Stack Overflow 链接错误消息
41007279 [...\stream_executor\dso_loader.cc] Couldn't open CUDA library nvcuda.dll
41007279 [...\stream_executor\cuda\cuda_dnn.cc] Unable to load cuDNN DSO
42006320 ImportError: Traceback (most recent call last):File "...\tensorflow\core\framework\graph_pb2.py", line 6, infrom google.protobuf import descriptor as _descriptor
ImportError: cannot import name 'descriptor'
42011070 No module named "pywrap_tensorflow"
42217532 OpKernel ('op: "BestSplits" device_type: "CPU"') for unknown op: BestSplits
43134753 The TensorFlow library wasn't compiled to use SSE instructions
38896424 Could not find a version that satisfies the requirement tensorflow

五、安装 Spyder IDE

想必用过 MATLAB 的人对于 Spyder IDE 第一感觉就是:哇塞!好熟悉啊!下图就是该编译环境的整体界面:

Spyder IDE

5.1 在 Anaconda 中自建的环境下安装 Spyder:

  1. 启动 Anaconda 控制台。
  2. 输入以下命令以激活 Conda 中自建的 TensorFlow 环境:
activate tensorflow
  1. 输入以下命令安装 Spyder 以及相关的依赖包,在弹出提示语句后输入y按回车等待安装完成:
conda install spyder

5.2 检测安装是否成功

  1. 在上述环境下输入spyder;或者在安装成功后,在开始菜单的Anaconda3 (64bit)文件夹下会出现名为Spyder (tensorflow)的快捷方式,其作用等同于使用 Anaconda 控制台输入命令启动 Spyder IDE。
  2. 打开 Spyder IDE,在右侧控制台中输入以下代码,没有出现报错则说明安装成功
import tensorflow
成功安装的实例

至此,基于 CUDA® 工具包 9.0 和 cuDNN v7.1 加速的 TensorFlow 1.8 已经安装完成,接下来基于上述环境(当然也可以重新创建一个新的环境)安装 Keras 深度学习框架以及选择安装 Jupyter IDE。

六、安装 Keras(选择安装)

如果你不想学习复杂的 TensorFlow 代码,个人感觉使用 Keras 能够使你更加的专注于网络的优化与构建。其学习成本相比于 TensorFlow 非常的低,建议初学者优先使用。

6.1 在 TensorFlow 环境中安装 Keras

  1. 启动 Anaconda 控制台。
  2. 输入以下命令以激活 Conda 中之前自建的 TensorFlow 环境(可以自己重新新建的一个新的环境,不过该环境必须重新按照之前所有步骤进行操作):
activate tensorflow
  1. 输入以下命令安装 Keras 以及相关的依赖包,在弹出提示语句后输入y按回车等待安装完成:
pip install keras

6.2 检验 Keras 的安装

  1. 等待安装完成后进入 Spyder IDE,在右侧控制台中输入以下代码,如果出现以下提示说明安装基本成功。
import keras
using tensorflow backend
  1. 重新启动 Anaconda 控制台。
  2. 输入以下命令以激活 Conda 中之前自建的 TensorFlow 环境:
activate tensorflow
  1. 输入以下命令安装 git 以及相关的依赖包,在弹出提示语句后输入y按回车等待安装完成:
conda install git
  1. 接着,在 Anaconda 控制台中输入以下代码下载 Keras 开发包,并进行 mnist 数据集测试
conda install git
git clone https://github.com/fchollet/keras.git
cd keras/examples/
python mnist_mlp.py
  1. 如果出现了如下一堆界面,并且没有报错,则说明 Keras 已经安装成功,你已经可以进行机器学习的创造之旅了!
Anaconda 控制台

不知道最后我们的结果是不是一样的 ->_->

Test loss: 0.10368652955392559
Test accuracy: 0.9849

七、安装 Jupyter IDE(选择安装)

如果你不是很喜欢 Spyder 的界面风格,需要一个更加现代化的编程环境,那么这款基于浏览器界面的编程环境将非常的适合于你!

Jupyter 图形界面

哈哈哈!这个当然是假的啦!下面这个才是真正的图形界面,不过上面的那个窗口千万不要随手关闭!!

Jupyter 真正的图形界面

7.1 在 TensorFlow 环境中安装 Jupyter IDE

  1. 启动 Anaconda 控制台。
  2. 输入以下命令以激活 Conda 中之前自建的 TensorFlow 环境(可以自己重新新建的一个新的环境,不过该环境必须重新按照之前所有步骤进行操作):
activate tensorflow
  1. 输入以下命令安装 Jupyter IDE 以及相关的依赖包,在弹出提示语句后输入y按回车等待安装完成:
conda install jupyter 

7.2 检测安装是否成功

  1. 在上述环境下输入jupyter;或者在安装成功后,在开始菜单的Anaconda3 (64bit)文件夹下会出现名为Jupyter (tensorflow)的快捷方式,其作用等同于使用 Anaconda 控制台输入命令启动 Jupyter IDE。
  2. 打开 Jupyter IDE,选择相应路径,在左上角选择New新建一个Python 3Notebook,在输入中输入以下代码,点击run没有出现报错则说明安装成功
import tensorflow
安装成功留念

至此,你以为本教程就要结束了么?

Too young, too naive!

八、给新手的常用指令(更新中...)

# 用来下载 GitHub 上的打包资源
conda install git
# 用来下载调用可视化图形的包
conda install matplotlib

# 使用 Pip 安装
pip install 
# 使用 Conda 安装
conda install 

# 使用 Conda 更新所有包,能够解决90%的问题
conda upgrade --all
# 使用 Conda 创建新的环境 &name 为自定义环境名
conda create -n &name pip python
# 激活 Conda 中搭建的以 &name 为名称的环境
activate tensorflow
# 退出 Conda 中的当前环境
deactivate
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容