前言

前段时间更新自己电脑上的tf1.4到1.9,没想到踩了这么多坑。。。特意记录下来希望可以帮到大家

删除旧版本

如果你电脑上没有安装旧版本的tf,就可以忽略这一步。我是因为想要升级到最新版本,所以需要先卸载旧版本。旧版本是用anaconda安装的,卸载很简单,首先进入安装tf的环境,我的环境是“tensorflow”:

activate tensorflow

然后卸载TensorFlow就好,或者直接删除这个tensorflow的环境,卸载tensorflow可以使用:

(tensorflow)pip uninstall tensorflow-gpu

前提是你安装的时候使用的是pip指令。直接删除环境可以使用:

conda env remove -n tensorflow

安装CUDA

要安装CUDA需要满足下面的四个条件:

  1. A CUDA-capable GPU (一个可以运行CUDA的显卡)
  2. A supported version of Microsoft Windows(一个支持CUDA的系统)
  3. A supported version of Microsoft Visual Studio(一个支持CUDA的VisualStudio)
  4. the NVIDIA CUDA Toolkit (available at http://developer.nvidia.com/cuda-downloads) (CUDA的安装文件)

这里需要注意的是,安装tensorflow-gpu1.9必须严格安装CUDA9.0,任何9.X都不可以,比如CUDA9.2什么的都不行,因为tensorflow会去寻找xxxx90.dll,如果是CUDA9.2之类的,这些dll的名称是xxxx92.dll,会报出找不到的错误。

还有一点需要注意,如果你的电脑上没有VS,那么你需要先去安装,请先自行下载安装VS2015,或者在我给出的链接中下载:

Visual Studio 2015

VS的安装需要一定的时间,请耐心等待。

如果你觉得前三个条件满足,那么就可以下载CUDA9.0了,下载地址是CUDA9.0,选择如下图所示,然后下载:

下载完成后,双击安装。这里又有一个坑,我的显卡是GTX 750M,直接选择“精简”模式的安装会报错导致不能安装,报错的原因是Visual Studio Intergration不能正确安装导致的失败。

你可以选择直接精简安装试试运气,也可以跟着我下面的教程选择“自定义”安装,下面介绍如何自定义安装:

  • 在刚刚双击安装文件后,会让你找一个解压临时文件的路径,保存下这个路径:
  • 抽取完成先进入这个路径,把里面的CUDAVisualStudioIntegration文件夹拷贝到其他地方保存,然后继续安装
  • 选择自定义安装,点击下一步
  • 除了Visual Studio Intergration其他的都打对勾,如下图所示:
  • 完成后,我们需要手动安装之前没有安装的Visual Studio Intergration,进入以下路径:

    C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations

  • 将我们之前保存的那个CUDAVisualStudioIntegration文件夹中的\extras\visualstudiointegration\MSBuildExtensions下面的所有文件拷贝到上面的那个路径中去即可。

  • 完成后,进入这个路径中,其中ProgramData是隐藏文件夹,看不到的话就去文件夹选项里勾选查看隐藏文件

    C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0\5_Simulations\nbody

  • 因为之前安装的是VS2015,所以选择15的sln

  • 接下来会打开VS2015,如果你的电脑上缺某些组件,这个时候VS会自动提醒你需要补充安装,安装即可。安装完成后在屏幕上方调成debug和x64
  • 右击右侧的“解决方案”,选择生成解决方案进行编译
  • 成功后进入路径

    C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0\bin\win64\Debug

  • 双击运行刚刚编译得到的“nbody.exe”,得到下图所示表示安装成功CUDA

  • PS:没意外的话不需要设置环境变量,安装的时候自动设置好了

安装cuDnn

cuDnn也请严格按照tf官网上的要求下载7.0版本的,不要下载7.X的,下载地址cuDnn

然后解压缩得到3个文件夹,将这3个文件夹里面的文件复制到CUDA安装路径下相应的文件夹里面即可。CUDA默认安装路径为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0,具体来说:

  • 复制 \cuda\bin\cudnn64_7.dll 到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin.
  • 复制 \cuda\ include\cudnn.h 到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include.
  • 复制 \cuda\lib\x64\cudnn.lib 到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64.

安装tensorflow-gpu

相比于之前繁琐的步骤,这里反而是最简单了的。请安装Anaconda,Anaconda实质上是一个Python包和版本管理工具。首先去官网下载Anaconda,然后安装,注意在某一个选项中勾选将anaconda加入到PATH中去(虽然anaconda不建议这么做,但是方便啊!),其他的全部选择默认选项即可,最多改一改安装路径,其他按照默认选项安装。

1、 用anaconda创建一个虚拟环境

C:> conda create -n tensorflow python=3.6

2、

在 Anaconda 中,您可以使用 conda 来创建一个虚拟环境。但是,在 Anaconda 内部,我们建议使用 pip install 命令来安装 TensorFlow,而不要使用 conda install 命令。

根据tf官方文件的建议,我们使用pip指令安装,但是同时,我们不要执行tf官方文档中的安装指令,因为那样安装太慢了,我们这里用豆瓣镜像去安装最新版本的tensorflow,瞬间就能安装好

(tensorflow)C:> pip install --index-url https://pypi.douban.com/simple tensorflow-gpu

3、 测试 
这里使用PyCharm这个IDE来进行测试。首先创建一个空的Python工程,然后在setting中设置Python解释器为Python3.5的那个,然后创建一个空的Python文件,文件编入如下代码:

import tensorflow as tf

hello = tf.constant("Hello!TensorFlow") 
sess = tf.Session() 
print(sess.run(hello))

如果输出如下的话,就是成功安装了tensorflow了:

结语

至此就成功安装完毕啦,真的是坑好多。。。希望可以帮到你,如果出现其他意外,欢迎来信讨论解决

原文链接:https://antdlx.com/win10_tf19/

Win10安装TensorFlow1.9-GPU版本的更多相关文章

  1. win10 安装tensorflow2.0 GPU版本遇到的坑

          背景:我的机器上tensorflow 1.14 & 2.0,这俩版本都有,之前都是用1.14版本,今天试一下2.0尝尝鲜, 结果就掉坑去了 把CUDA10.1 和 cudnn 安装 ...

  2. Ubuntu 14.04 64bit 安装tensorflow(GPU版本)

    本博客主要用于在Ubuntu14.04 64bit 操作系统上搭建google开源的深度学习框架tensorflow. 0.安装CUDA和cuDNN 如果要安装GPU版本的tensorflow,就必须 ...

  3. win10安装Tensorflow1.9GPU版本

    前言 看到DateWhale出了一篇安装教程(微信公众号DateWhale),决定体验一下Tensorflow1.9的GPU版本..其实一开始装的是2.0,但是tf.Session()就报错了,说是2 ...

  4. windows10安装tensorflow的gpu版本(pip3安装方式)

    前言: TensorFlow 有cpu和 gpu两个版本:gpu版本需要英伟达CUDA 和 cuDNN 的支持,cpu版本不需要:本文主要安装gpu版本. 1.环境 gpu:确认你的显卡支持 CUDA ...

  5. 【转】Ubuntu 16.04安装配置TensorFlow GPU版本

    之前摸爬滚打总是各种坑,今天参考这篇文章终于解决了,甚是鸡冻\(≧▽≦)/,电脑不知道怎么的,安装不了16.04,就安装15.10再升级到16.04 requirements: Ubuntu 16.0 ...

  6. Caffe学习笔记2--Ubuntu 14.04 64bit 安装Caffe(GPU版本)

    0.检查配置 1. VMWare上运行的Ubuntu,并不能支持真实的GPU(除了特定版本的VMWare和特定的GPU,要求条件严格,所以我在VMWare上搭建好了Caffe环境后,又重新在Windo ...

  7. 2018最新win10 安装tensorflow1.4(GPU/CPU)+cuda8.0+cudnn8.0-v6 + keras 安装CUDA失败 导入tensorflow失败报错问题解决

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9747019.html 基本开发环境搭建 1. Microsoft Windows 版本 关于W ...

  8. linux 安装tensorflow(gpu版本)

    一.安装cuda 具体安装过程见我的另一篇博客,ubuntu16.04下安装配置深度学习环境 二.安装tensorflow 1.具体安装过程官网其实写的比较详细,总结一下的话可以分为两种:安装rele ...

  9. ubuntu16.04卸载tensorflow0.11版本,安装tensorflow1.1.0版本

    卸载旧版本: pip uninstall tensorflow 安装新版本: sudo pip install --upgrade https://storage.googleapis.com/ten ...

随机推荐

  1. 七牛云注册创建oss并配置自定义域名

    1.登陆官网注册账号 有个人和企业两种,根据自己的情况进行注册 https://portal.qiniu.com/signup/choice 2.注册后要进行认证,不认证是没有免费空间给你使用的 3. ...

  2. day10 函数的嵌套执行顺序

    函数嵌套的执行顺序,从上往下,一层一层的执行重点注意的是函数和内存的交互原理 NMAE = def yangtuo(): # 2 将整个函数放入内存编译,但是不执行 name = "yang ...

  3. MT【72】一个不等式

    证明: 评: 可以思考$\frac{1}{(1+b)^2}+\frac{1}{(1+a)^2}$与$\frac{2}{(1+\sqrt{ab})^2}$大小.

  4. MT【67】窥一斑知全豹

    已知$f(x)=ax^2+bx+c$在$x\in\{-1,0,1\}$时满足$|f(x)|\le1$ 求证:当$|x|\le1$时$|f(x)|\le\frac{5}{4}$. 证明: $$f(x)= ...

  5. BUPT2017 wintertraining(15) #1 题解

    拖了一周才完成的题解,抛出一个可爱的表情 (っ'-')╮ =͟͟͞͞❤️.对我来说E.F比较难,都是线段树的题,有点久没写了. A - Infinite Sequence CodeForces - 6 ...

  6. Leetcode 283.移动零 By Python

    思路 我们可以用python的list comprehension来取出所以非0的元素,而且这样取出来会保持原有的相对顺序,再统计先后变化的长度,补上相应的0即可 代码 class Solution( ...

  7. 自学Aruba5.3.4-Aruba安全认证-有PEFNG 许可证环境的认证配置802.1x

    点击返回:自学Aruba之路 自学Aruba5.3.4-Aruba安全认证-有PEFNG 许可证环境的认证配置802.1x 1. 采用InterDB认证服务器完成802.1X认证 (Aruba650) ...

  8. 【Luogu1937】仓配置(贪心,线段树)

    [Luogu1937]仓配置 题面 直接找洛谷把... 题解 很明显的贪心吧 按照线段的右端点为第一关键字,左端点第二关键字排序 然后线段树维护区间最小就可以啦 #include<iostrea ...

  9. if语句实例

    if 单分支#!/bin/bashRATE=`df -hT | grep "/boot" | awk '{print $6}' | cut -d "%" -f1 ...

  10. 上下文管理协议with_open,__enter__和__exit__(三十八)

    在操作文件对象的时候可以这么写 with open('a.txt') as f: '代码块' 上述叫做上下文管理协议,即with语句,为了让一个对象兼容with语句,必须在这个对象的类中声明__ent ...