最近群里聊天时经常会提到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. 一个字符带下滑线的EditText

    效果样式: 这个比较特别的editText是公司的一个新的需求,我也是在网上找了一下,然后看到了一篇博客然后修改成自己需要的样式.这种一般的思路就是在onDraw()方法绘制editText的特别的样 ...

  2. MySQL数据库在IO性能优化方面的设置选择(硬件)

    提起MySQL数据库在硬件方面的优化无非是CPU.内存和IO.下面我们着重梳理一下关于磁盘I/O方面的优化. 1.磁盘冗余阵列RAID RAID(Redundant Array of Inexpens ...

  3. 关于ORACLE数据库名以及数据实例名等几个重要概念

    在Oracle中有关数据库和数据库实例的几个重要概念,有时候如果理解不是很深或者对其疏忽.混淆了,还真容易搞错或弄不清其概念,下面就数据库实例名.数据库名.数据库域名.数据库服务名.全局数据库名几个概 ...

  4. Windows Server 2016-Windows安全日志ID汇总

    Windows常见安全事件日志ID汇总,供大家参考,希望可以帮到大家. ID 安全事件信息 1100 事件记录服务已关闭 1101 审计事件已被运输中断. 1102 审核日志已清除 1104 安全日志 ...

  5. 记录Nginx实现内容重定向的两种方式:rewrite和反向代理

    第一种:rewrite server { listen                80; server_name   www.test.org; root                  /te ...

  6. Parameter 'ids' not found. Available parameters are [array]

    传的参数是一个数组, Long[] ids 后台错误写法 <delete id="deleteById"> delete from table where id in ...

  7. Ruby入坑指南

    1.1 简介 Ruby语言是由松本行弘(Matz)设计,是一门通用的.面向对象的.解释型语言. 1.2 Ruby?RUBY?ruby? 1.Ruby:用来表示编程的语言 2.ruby:是指一个计算机程 ...

  8. MySQL replace into (insert into 的增强版)

    在使用SQL语句进行数据表插入insert操作时,如果表中定义了主键,插入具有相同主键的记录会报错:  Error Code: 1062. Duplicate entry 'XXXXX' for ke ...

  9. html5 vedio 播放器,禁掉进度条快进快退事件

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. Ubutun 16.04添加操作命令审计

    1.启用/var/log/messages,监控系统命令 说明:由于需要把操作命令记录到/var/log/messages,但是ubuntu默认并没有开启日志写入到这个文件 tchua@ubuntu: ...