本文转载自:https://blog.csdn.net/gangeqian2/article/details/79358543

手把手教你windows安装tensorflow的教程参考另一篇博文http://mp.blog.csdn.net/postedit/79307696

此博文是在上文安装CUDA/cuDNN的基础上的个人填坑总结,欢迎指教。

CUDA

CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员现在可以使用C语言来为CUDA™架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序于是就可以在支持CUDA™的处理器上以超高性能运行。CUDA3.0已经开始支持C++和FORTRAN。 
计算行业正在从只使用CPU的“中央处理”向CPU与GPU并用的“协同处理”发展。为打造这一全新的计算典范,NVIDIA™(英伟达™)发明了CUDA(Compute Unified Device Architecture,统一计算设备架构)这一编程模型,是想在应用程序中充分利用CPU和GPU各自的优点。现在,该架构已应用于GeForce™(精视™)、ION™(翼扬™)、Quadro以及Tesla GPU(图形处理器)上。

安装TensorFlow时存在很多版本不兼容或者不对应的问题。而官网上下载的cuda版本往往都是最新的,一不小心容易下载了最新CUDA版本,而与之对应的cuDNN 不一定兼容。笔者就遇到这样的问题,先卸载,参考:

http://blog.csdn.net/shuiyuejihua/article/details/78738664

  • 2017-12的时候,tensorflow 1.4不支持cuda9.0,且tensorflow1.0版本以上是不支持cuda8.0以下的。
  • cuda8.0对应的cuDNN必须是6.0版的。
  • cuda8.0,在cuda下载页面,Legacy Releases,找到旧版本下载地址,然后下载安装
  • 最后成功安装,选择CUDA Toolkit 8.0 GA2+cuDNN v6.0 (April 27, 2017), for CUDA 8.0

笔者的显卡时Nvida GTX750 Ti,运算能力4以上,符合前一篇tensorflow安装GPU版本的要求。因此我们的安装均是安装的GPU版本,非GPU版本安装类似。

安装步骤可参考 http://blog.sina.com.cn/s/blog_14935c5880102wu86.html

Anaconda

Anaconda是由Python提供支持的领先的开放数据科学平台。 Anaconda的开源版本是Python和R的高性能分发版本,包括超过100个用于数据科学的最流行的Python,R和Scala软件包。 
来自Anaconda官方下载页面 
具体使用见Anaconda官方教程,简单易懂!


Anaconda初步学习

0.下载Anaconda安装包:Anaconda官方下载地址 
我下载的是Anaconda4.4.10 For Windows 64bit(内置python3.6) 
下载好了就安装,一直下一步。

1.检查Anaconda是否成功安装:conda --version

2.检测目前安装了哪些环境:conda info --envs


安装环境只有一个,不用担心。
 
3.检查目前有哪些版本的python可以安装:conda search --full-name python 
 
(好多呀,要哪个呢?嘻嘻当然是python3.6啦)

4.安装不同版本的python:

对于GPU版本:conda create --name tensorflow-gpu python=3.6

对于CPU版本:conda create --name tensorflow python=3.6


(默认情况下会自动选择最新版本分支) 
5.按照提示,激活之:activate tensorflow 
 
(嘻嘻它有了一顶小帽子~代表我的当前环境哦) 
6.确保名叫tensorflow的环境已经被成功添加:conda info --envs 
 
(Bravo!) 
7.检查新环境中的python版本:python --version

基本已经完成。

8.安装 tensorflow

命令行输入:pip install tensorflow-gpu,默认安装最新的tensorflow 版本1.5.0,

安装完成后使用 import tensorflow as tf  出现如下错误:

度娘后发现CUDA8.0 不支持tensorflow 1.5,故需要降低版本。(也可提升CUDA版本,不过需要注意CUDA与cudnn版本的对应,以及是否与电脑的GPU兼容,否则很容易入坑。cuda8对应 cudnn6,cuda9 对应cudnn7.)

卸载pip uninstall tensorflow-gpu-1.5.0

选择安装版本:pip install tensorflow-gpu==1.4.0

9.确认tensorflow安装成功:

错误尝试:直接在cmd里面键入python,然后键入import tensorflow as tf

遇到问题:No module named 'tensorflow' 是因为我们环境中包含了2个python环境,一个base,一个tensorflow-gpu,两个环境版本可以是一样的,笔者的均是3.6.4。

正确尝试:进入Anaconda Prompt-python里

输入:activate tensorflow-gpu 的环境,键入python,然后再键入import tensorflow as tf

在这里可以找到Anaconda Prompt-python:

10、tensorflow开发环境

(1)spyder

打开Anaconda Navigator(开始菜单->Anaconda 3->Anaconda Navigator),搞一个spyder玩,点击spyder下面的“install”,安装好就变成“Launch”了,点击就可以进去了。

在spyder里对tensorflow说Hello! 

输出: 

(2)、jupyter notebook 这个工具比较流行

Jupyter is a web application that allows you to create and share documents that contain live code, equations, visualizations and explanatory text.

安装完Anaconda后可直接打开jupyter notebook。或者在Anaconda Prompt中输入jupyter notebook

坑1:在jupyter notebook中新建.py文件,import tensorflow as tf,运行后又是那句之前见到过很多次的提示:not find module TensorFlow,想了一下,spyder 环境中会通过Application 选择 base 环境还是 tensorflow-gpu/tensorflow 环境,而jupyter notebook也需要选吧。一想还没激活环境呢。

坑2:退出jupyter notebook,在Anaconda Prompt 输入:activate tensorflow-gpu ,启动,依然是之前那个提示。

填坑:

之前我们在Anaconda安装好了TensorFlow,但要想在Jupyter notebook上使用,还不行,接着安装ipython(好像最新 都不需要重新装了),安装jupyter。

以上算是Anaconda安装好了TensorFlow,但要想在Jupyter notebook上使用,还没完。

接着安装ipython,安装jupyter。

第一步>>activate tensorflow-gpu

第二步>>conda install jupyter

安装完成后在打开jupyter notebook 运行

最新文章

  1. (转)Div和Table的区别
  2. Genome-wide Complex Trait Analysis(GCTA)-全基因组复杂性状分析
  3. location对象及history对象
  4. 阻塞与非阻塞IO step by step
  5. Svg 画图(电池)
  6. 深入理解C#:编程技巧总结(二)
  7. VMwarevSphere 服务器虚拟化之二十九 桌面虚拟化之安装View副本服务器
  8. QML插件扩展(一)
  9. mac 查看某个文件夹下所有隐藏文件(夹)的大小
  10. PHP之this和self
  11. php foreach跳出本次/当前循环与终止循环方法
  12. 012-docker-安装-fabric:1.4
  13. GBDT、XGBOOST、LightGBM调参数
  14. firewalld管理防火墙常用命令
  15. XML中的变量传值
  16. SpringMVC Controller介绍及常见注解
  17. 代理服务器polipo;socks5代理转http代理
  18. C语言位操作--判断整数的符号
  19. CentOS关闭防火墙&SELinux
  20. 程序猿的日常——Java基础之clone、序列化、字符串、数组

热门文章

  1. web基础---->Fileupload文件的上传
  2. LeetCode——Single Number III
  3. 从TCP三次握手说起–浅析TCP协议中的疑难杂症(2)
  4. sencha touch 入门系列 (七)sencha touch 类系统讲解(上)
  5. 给大家推荐一个好的android模拟器genymotion,非常流畅,跟真机差不多
  6. sencha touch 入门系列 (四)sencha touch 新建项目目录结构解析
  7. js+jquery(二)
  8. 【黑金ZYNQ7000系列原创视频教程】01.熟悉vivado——纯逻辑led实验
  9. .net asp 在1.asp页面嵌入另一个页面2.asp
  10. awk中的冒泡排序