近期又开始搞tensorflow了,没错,闲下来搞深度学习了,也决定好好再次专研一下了
(咦,为啥是又开始,因为去年pa实习的时候,就有搞过,但不深)
(咦,为啥是再次专研,毕竟深度学习,以前也有摸过,现在要抱抱它,舔舔)
安装tendorflow要领就是:版本要对上号,对上号,对上号!!!
cuda的path路径需要注意下,安装会说
其他的都是次要的,都是可以解决的,所以安装之前要明白你需要的各个版本
版本信息:(非安装次序)
NVIDIA GPU显卡和win10系统 (我安装时环境是这个)
python 3.5 (tensorflow现在windows只支持python3.5)
cuda 8.0 (tensorflow需要gpu,cuda是gpu的并行计算框架)
cudnn 6.0 (cuda需要的cudnn库)
tensorflow 1.3 (深度学习库,google开发)
anaconda (版本没要求,但是版本会带来默认的python的版本,当然可以选择有pyhton3.5的anaconda,或者在anaconda中创建一个新的python3.5环境。anaconda是一款软件,方便使用和下载所需的包,亮点在于在其中安装python包,tensorflow包等不需要考虑包之间的依赖)
备注:以上搭配只是一种,也有其他的搭配,但Python的话是3.5不可变,windows系统应该没要求,anaconda远着上来说也可变,cuda和cudnn就必要匹配
其他搭配:(提炼自网址,当然也不完全正确,但可以作参考)
tensorflow 1.2 + cudnn 5.1: works fine
tensorflow 1.2 + cudnn 6.0: ImportError
tensorflow 1.3 + cudnn 5.1: works fine
tensorflow 1.3 + cudnn 6.0: works fine
tensorflow 1.3 + cudnn 6.0 with Cuda 8 : works fine
tensorflow 1.3 + cudnn 6.0: works fine
tensorflow 1.3 + cudnn 7.0.2: import error
安装(按次序介绍)
1、windows
本人用win10
2、cuda
cuda v8.0安装包下载链接 ,还有安装指南之类的,稍微看下就行。
根据自己的环境选择对应的版本,exe分为网络版和本地版,网络版安装包比较小,执行安装的时候再去下载需要的包;本地版安装包是直接下载完整安装包。这里建议下载本地版,另外建议用win10自带的edge浏览器下载,速度比谷歌啥的快多了。
下载下来后就正常安装就可以了
3、cuDnn库
下载这个安装包下载链接,需要注册并且填一堆问卷,下下来以后把相关包不用安装,直接拷到cuda路径对应的文件夹下面就可以。
很简单,解压刚才下下来的安装包,将这三个文件夹下的文件拷到CUDA对应的文件夹下面即可。
注意:cudnn库的下载我用的是vpn,不然应该下载不了,目前是这样
再次注意:一定要选择与cuda相匹配的cudnn库,cudnn库的库名上也有cuda的版本
再再次注意:cuda 8.0对应的cudnn版本不止一个,有5.1,6.0等等
我的5.1版本在import tensorflow as tf时出错,但是换成6.0就好了
错误为:ImportError: No module named ‘_pywrap_tensorflow_internal’
再再再次注意:cuda安装完成后默认的环境变量配置不对,CUDA_PATH是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0,但是这样不能直接访问到bin和lib\x64下的程序包,在系统的环境变量的PATH中加上这两个路径即可。
cuda测试
在cuda安装好后会自动下载一些example,自己运行测试一下,问题不大。
4、Anaconda和python
百度或google一下就可以下载anaconda,问题是下载哪个版本的,不同Anaconda版本决定了python的版本下载问题,见下图
官网直接给出的anaconda的python版本有3.6和2.7,但是这都不是我们要的
注意到图中的箭头,可见官方已经知道我们的意图了,官网链接 , 官网链接中,有具体的操作链接指引,以下只是介绍图片
既然官网说用第一个,那就用第一个呗,于是我们有了anaconda5.1版的带python3.6的,现在需要python3.5,有两种anaconda中创建3.5环境的方法(本人首先看的是中文版)
(1)tensorflow中文社区办
(2)tensorflow官网版官网链接
以下是官网的截图,里面介绍很全
5、tensorflow
首先cmd中进入命令目录:G:\Anaconda\install\Scripts
然后在输入:activate tensorflow
再进入新的环境中:cd G:\Anaconda\install\envs\tensorflow\Scripts
再输入:pip install –-upgrade https://mirrors.tuna.tsinghua.edu.cn/tensorflow/windows/gpu/tensorflow_gpu-1.3.0rc0-cp35-cp35m-win_amd64.whl (由于此pip源较慢,于是我先下载了tensorflow_gpu-1.3.0rc0-cp35-cp35m-win_amd64.whl ,下载链接,然后在pip install 路径,很快就搞定了)
6、TensorFlow测试
(1)
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
(2)
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
print(sess.run(c))
(3)example 测试
下载github上的tensorflow源码源码地址,里面有很多示例代码
7、错误
(1)tensorflow_gpu-1.8.0-cp36-cp36m-win_x86_64.whl is not a supported wheel on this platform.
说明下载的这个版本与当前的环境不符,比如你的python不是3.5的
(2)Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2
正确安装gpu版的话,是没有这个问题的,可能是你用的cpu的tensorflow了,在cpu上的解决见:错误讨论链接
(3)Anaconda更新pip出现错误9.0.1到10.0.1
需要升级pip了,conda install pip
(4)ImportError: No module named ‘_pywrap_tensorflow_internal’
我的是因为版本搭配不对,cuda和cudnn
具体的讨论见:错误讨论链接
(5)No module named “_pywrap_tensorflow” error 链接
(6)Could not find ‘cudart64_90.dll’.
tensorflow的版本不对,如果按照命令:pip install tensorflow-gpu,默认会下载最新版的,但最新版的不对应之前的cuda和cudnn等,按照之前的版本信息介绍,我用的是需要特定版本tensorflow_gpu-1.3.0rc0-cp35-cp35m-win_amd64.whl
(7)官方提供的错误消息解决方案:Stack Overflow 链接
用到
(1)gpu和cpu卸载 链接
(2)如何查看tensorflow跑的是gpu版本还是cpu版本? 链接
(3)终端命令查看TensorFlow版本号及路径 链接
(4)pip下载慢,这是pip源的问题 pip源1 pip源2
引用
https://blog.csdn.net/sb19931201/article/details/53648615
很好的指导安装教程(我是以他为主导)
https://www.tensorflow.org/install/install_windows
https://docs.anaconda.com/anaconda/faq#how-do-i-get-the-latest-anaconda-with-python-3-5
https://conda.io/docs/user-guide/tasks/manage-python.html#updating-or-upgrading-python
官网的教程,看了之后不必进太多坑
https://blog.csdn.net/bianjun1075/article/details/60478487
里面的注意事项让我恍然大悟
https://morvanzhou.github.io/tutorials/machine-learning/tensorflow/1-2-install/
我一直膜拜的大神,当初强化学习就是靠的他,当然tensorflow安装讲解的有点少