最近群里聊天时经常会提到DL的东西,也有群友在学习mxnet,但听说坑比较多。为了赶上潮流顺便避坑,我果断选择了TensorFlow,然而谁知一上来就掉坑里了……

我根据网上的安装教程,默认安装了最新版本的CUDA和cuDNN,但之后遇到了各种无法导入的问题,后来我发现主要的问题就是版本问题!!!CUDA版本和TensorFlow版本不匹配是最重要的坑。

目前NV家最新的组件是CUDA 9.1+cuDNN 7.05,而我们安装所用的清华大学的镜像里TensorFlow是1.3.0这两个是没法匹配的,正确的配置是CUDA 8.0+cuDNN 6.0+TensorFlow 1.3.0,另外还有python 3.5

接下来说正事,Anaconda目前的python版本是3.6的,但没关系,我们新建一个环境就可以了。首先更新一下N卡驱动,并下载并安装这几样东西:

VisualC++ Redistributable for Visual Studio 2015

CUDA Toolkit 8.0 (注意操作系统和版本的选择)

cuDNN 6.0 (注意,要选Download cuDNN v6.0 (April 27, 2017), for CUDA 8.0

下载完成后逐一安装,CUDA安装时候可能会提示警告,主要说你的显卡驱动可能太新或者VS版本有点问题什么的,不过只要你之前的步骤都妥了就不用理它。

cnDNN解压缩,里面会有3个文件夹:

把这三个复制到CUDA的安装目录,比如C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0,与同名文件夹合并即可。之后就是安装TensorFlow了。

这里基本按照一位群友上传的安装教程来,打开CMD,以此输入如下命令:

1、更改Anaconda镜像源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ (执行两次保证将该镜像放在首位)
conda config --set show_channel_urls yes

2、利用Anaconda创建一个python3.5的环境,环境名称为tensorflow :

conda create -n tensorflow python=3.5

3、激活该环境:

activate tensorflow

4、安装CPU版本和GPU版本的TensorFlow:

pip install --upgrade --ignore-installed https://mirrors.tuna.tsinghua.edu.cn/tensorflow/windows/cpu/tensorflow-1.3.0rc0-cp35-cp35m-win_amd64.whl
pip install --upgrade --ignore-installed https://mirrors.tuna.tsinghua.edu.cn/tensorflow/windows/gpu/tensorflow_gpu-1.3.0rc0-cp35-cp35m-win_amd64.whl

这一步中有时候也会报错,只要你看到过进度条,那就没啥大问题,主要是网络不好的问题……如果网络不好报错了,就再执行一次同样的命令,最终一定会成功。

5、安装完成后,记得设置环境变量,环境变量path里加入以下内容:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin; (你CUDA的安装位置,默认的)
C:\Program Files\NVIDIA Corporation\NVSMIs;
D:\Anaconda3\envs\tensorflow\Scripts; (这两个是你Anaconda的安装位置,我装在D盘里,后面的\envs\tensorflow是指你在第2步中创建的tensorflow环境)
D:\Anaconda3\envs\tensorflow\Library\bin;

6、试一试能否成功

打开cmd,输入activate tensorflow激活tensorflow环境,输入python进入python,尝试输入一下命令

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

成功的话你会看到如下画面

7、配置spyder

Anaconda最吸引我的就是spyder,集成了命令行和IDLE,超好用,然而安装完我们会发现一个问题,你打开spyder是无法导入tensorflow的,提示找不到模块。这主要是因为我们打开的spyder是root环境下的,里面并没有tensorflow。所以我们要在我们之前创建的tensorflow环境中安装spyder才行。打开Anaconda Navigator可以看到tensorflow环境下只有这些库,我们可以根据自己的需要再安装一下其他需要的库,包括spyder

在库上方选Not installed(未安装的库),然后在右侧搜索spyder,选中之后点最右下角的apply就会安装了。

安装完成后打开开始菜单,我们会看到多出来一个spyder(tensorflow),就是这个啦~

可以看到现在也可以用tensorflow了~

如果你点击的时候只是光标闪了一下并没有打开spyder的话,直接在Anaconda Navigator的home界面中点击spyder的Launch,就能启动了

启动后我们再试试导入,也没问题,大功告成啦~

Windows环境下Anaconda安装TensorFlow的避坑指南的更多相关文章

  1. Ubuntu环境下Anaconda安装TensorFlow并配置Jupyter远程访问

    本文主要讲解在Ubuntu系统中,如何在Anaconda下安装TensorFlow以及配置Jupyter Notebook远程访问的过程. 在官方文档中提到,TensorFlow的安装主要有以下五种形 ...

  2. 4.windows环境下如何安装memcached教程(转载+自己整理)

     Memcached 是一个开源免费高性能的分布式内存对象缓存系统,能够加快网站访问速度和减轻数据库压力,本文向大家介绍下windows环境下如何安装memcached.百度经验:jingyan. ...

  3. 01.1 Windows环境下JDK安装与环境变量配置详细的图文教程

    01.1 Windows环境下JDK安装与环境变量配置详细的图文教程 本节内容:JDK安装与环境变量配置 以下是详细步骤 一.准备工具: 1.JDK JDK 可以到官网下载 http://www.or ...

  4. GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置

    GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置 前言 此篇博客主要为Pelican在Windows平台下的配置安装所写,在此过程中主要参考资料烟雨林博客.poem_of_ ...

  5. windows环境下如何安装memcached教程

    Memcached 是一个开源免费高性能的分布式内存对象缓存系统,能够加快网站访问速度和减轻数据库压力,本文向大家介绍下windows环境下如何安装memcached. 工具/原料   memcach ...

  6. [原创]python MySQLdb在windows环境下的安装、出错问题以及解决办法

    版权声明:本文为博主原创文章,未经博主允许不得转载. 问题:windows下安装MySQLdb的方法 解析:python没有php那种集成环境,比如wamp那种集成软件直接把所有需要的东西全部一次性搭 ...

  7. Windows环境下的安装gcc

    Windows具有良好的界面和丰富的工具,所以目前linux开发的流程是,windows下完成编码工作,linux上实现编译工作. 为了提高工作效率,有必要在windows环境下搭建一套gcc,gdb ...

  8. RabbitMQ在windows环境下的安装

    最近一直想入手一台电脑,作为linux服务器,由于经济状况也没有入手,现在就先介绍windows环境下安装rabbitMQ. RabbitMQ是什么 ? RabbitMQ是一个在AMQP基础上完整的, ...

  9. Windows环境下的安装gcc(c语言环境)

    Windows 具有良好的界面和丰富的工具,所以目前 linux 开发的流程是, windows 下完成编码工作, linux 上实现编译工作. 为了提高工作效率,有必要在 windows 环境下搭建 ...

随机推荐

  1. Java使用PipedStream管道流通信

    多线程使用PipedStream 通讯 Java 提供了四个相关的管道流,我们可以使用其在多线程进行数据传递,其分别是 类名 作用 备注 PipedInputStream 字节管道输入流 字节流 Pi ...

  2. JavaScript jQuery 中定义数组操作及数组操作

    1.认识数组 数组就是某类数据的集合,数据类型可以是整型.字符串.甚至是对象 Javascript不支持多维数组,但是因为数组里面可以包含对象(数组也是一个对象),所以数组可以通过相互嵌套实现类似多维 ...

  3. ILRuntime入门笔记

    基础知识 官方地址:https://github.com/Ourpalm/ILRuntime 官方文档:https://ourpalm.github.io/ILRuntime/ 文档Markdown源 ...

  4. JS倒计时两种种实现方式

    最近做浏览器界面倒计时,用js就实现,两种方式: 一:设置时长,进行倒计时.比如考试时间等等 代码如下: <html> <head> <meta charset=&quo ...

  5. @EnableFeignClients 注解

    feignClents在spring容器里找不到的原因 当使用的feignClents 来自引用别的工程时,需要指定包名,如果不指定就算使用ComponentScan 扫描也不行 import org ...

  6. java 开发工具记录

    jenkins 持续构建项目 lombok  优雅代码插件 sonarqube 代码检测插件

  7. button JS篇ant Design of react

    这篇看ant Desgin of react的button按钮的js代码,js代码部分是typescript+react写的. button组件里面引用了哪些组件: import * as React ...

  8. centos6.8 搭建postfix/dovecot邮件服务器

    postfix/dovecot邮件服务器 安装配置参考链接  http://www.cnblogs.com/jkklearn/p/7280045.html (domain 为自己域名 xxx.com) ...

  9. VS2019 实用操作

    本文列出了在编写程序过程中的几个非常实用的操作方式,通过这些操作方式,可以在一定程度上减少重复操作.提高编码效率.改善编程体验. 列模式操作 列操作是一项很常用且实用的功能,可以一次性修改不同的行. ...

  10. Selenium WebDriver原理(一):Selenium WebDriver 是怎么工作的?

    首先我们来看一个经典的例子: 搭出租车 在出租车驾驶中,通常有3个角色: 乘客 : 他告诉出租车司机他想去哪里以及如何到达那里 对出租车司机说: 1.去阳光棕榈园东门 2.从这里转左 3.然后直行 2 ...