前言

前段时间更新自己电脑上的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. BZOJ5010 FJOI2017矩阵填数(容斥原理)

    如果只考虑某个子矩阵的话,其最大值为v的方案数显然是vsize-(v-1)size.问题在于处理子矩阵间的交叉情况. 如果两个交叉的子矩阵所要求的最大值不同,可以直接把交叉部分划给所要求的最大值较小的 ...

  2. JavaScript——根据数组中的某个值进行排序

    我这里是根据次数进行倒叙,可根据自己情况进行修改 function sortKey(array,key){ return array.sort(function(a,b){ var x = a[key ...

  3. FreeBSD ZFS

    FreeBSD ZFS https://www.cnblogs.com/hadex/p/6068476.html 参考資料 http://docs.oracle.com/cd/E37934_01/ht ...

  4. 2019 Android 高级面试题总结

    说下你所知道的设计模式与使用场景 a.建造者模式: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 使用场景比如最常见的AlertDialog,拿我们开发过程中举例,比如C ...

  5. Java核心技术-映射

    集是一个集合,它可以快速地查找现有的元素.但是,要查看一个元素,需要有要查找元素的精确副本.这不是一种非常通用的查找方式.通常,我们知道某些键的信息,并想要查找与之对应的元素.映射(map)数据结构就 ...

  6. hdu 2158 最短区间版大家来找碴(尺取法)

    Problem Description 给定一个序列,有N个整数,数值范围为[0,N).有M个询问,每次询问给定Q个整数,可能出现重复值.要求找出一个最短区间,该区间要包含这Q个整数数值.你能找的出来 ...

  7. docker的memory和cpu资源限制

    这里仅针对docker本身,不涉及任何编排工具compose或者k8s等. 按照惯例,官文撸起来. 重要的部分是一些选项,用来限制资源大小. Memory Most of these options ...

  8. 使用nagios监控ssl证书过期时间

    1.编写监控脚本. # vim check_ssl_expiry.sh #!/bin/bash STATE_OK=0 STATE_WARNING=1 STATE_CRITICAL=2 Host=$1 ...

  9. linux动态库与静态库混合连接

      1, 在应用程序需要连接外部库的情况下,linux默认对库的连接是使用动态库,在找不到动态库的情况下再选择静态库.使用方式为: gcc test.cpp -L. -ltestlib 如果当前目录有 ...

  10. HDU 3338 Kakuro Extension (网络流,最大流)

    HDU 3338 Kakuro Extension (网络流,最大流) Description If you solved problem like this, forget it.Because y ...