前言
最近要开始学习深度,那么首先在电脑上安装tensorflow。但是我不知道是配置版本的问题,还是安装失误的问题,我安装了很久没有安装成功,最后重装了电脑,并且融合了所有的网上可以查到的方案才安装成功。所以为了方便他人,我把自己的安装过程写下来,以供大家参考。
另附:后来我又重新安装tensorflow gpu,一次安装成功,但是其中也遇到些从没有见过的问题,现补充在最后。
安装材料
- Vs2013
- Anaconda3-4.2-windows-x86_64
- Cuda_9.0.148_win10
- Cudnn-9.0-windows10-64-v7
- Pycharm2018.1.4(Commuunity Edition)
这些软件中,anaconda、cuda和cudnn的版本必须要相互对应的,并且anaconda的版本后面的tensorflow的版本也是一一对应的,所以为了保证安装正确,最好使用一致的版本。
因为cuda和cudnn直接在官网上下载很慢,并且对应的版本不好找,所以我将我使用到的软件存在在百度云盘中,大家可以直接下载。
百度云地址:https://pan.baidu.com/s/1CKpfSpmP0bURGsRd0FuWrQ 密码: mzd9
安装过程
- Vs2013安装。这个安装过程非常简单,直接打开iso,解压后点击setup即可,一路next,等待时间稍长。安装过程不会有什么大问题。
需要注意的是:电脑如果本身有了vs版本就不需要在重新安装,因为在安装cuda的过程,他会自动检查c++编译库等,会自动检查vs版本,他支持2013、2015和2017,所以只要电脑上安装了就好。我第一次安装tensorflow时,没有安装vs,所以一直出错,虽然不知道错误是否和这点有关系,但是为了避免安装失败,建议还是先安装vs。
- Anaconda安装。Anaconda安装中会自动安装python3.5版本,在《tensorflow实战》和《谷歌tensorflow详解》中都建议使用python3来作为开发版本,所以我选择了这个版本,同时看网上也有说tensorflow1.5以上都要使用python3,所以就用了这个版本。
需要注意的是: 安装过程一定要勾选设置环境变量,要不然后期不能直接用cmd打开了,所以为了方便,一定要将路径写到环境变量中。
如果使用的anaconda不是3.4版本,那么后期在安装conda install tensorflow时需要先将python的版本设置为3.5。
- Tensorflow安装。安装anaconda之后就可以使用anaconda来安装tensorflow了。打开anaconda prompt在里面输入:
1. 安装gpu版本
pip install --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-0.12.0-cp35-cp35m-win_amd64.whl
2. 安装cpu版本
pip install --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-0.12.0-cp35-cp35m-win_amd64.whl
https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_ 这一段是从清华镜像中下载tensorflow安装包。如果从官网上下载速度非常慢,而且容易出现包找不到的情况,在我自己安装的过程中,我多次尝试从官网下载但是下载到最后一个包时总是失败。最后找了清华镜像下载地址才成功的。另外建议把清华镜像设置成为默认下载渠道。
需要注意的是:安装gpu版本需要检查自己电脑的配置是否支持gpu版本。在以下两个网址中检查自己的gpu,如果自己的gpu出现在列表中,那么就可以安装gpu版本。
电脑较新使用这个网址:https://developer.nvidia.com/cuda-gpus
电脑比较老使用这个网址:https://developer.nvidia.com/cuda-legacy-gpus
如何查看自己电脑的gpu,请参考这个网址:https://jingyan.baidu.com/article/17bd8e524e14ac85ab2bb801.html
查看自己电脑gpu信息时,如果自己的gpu不在列表中,也不要以为自己的电脑不能使用gpu版本了,要自己看一下自己的gpu系列,对照自己的gpu版本和上图中的gpu版本的区别,如果自己的gpu版本高于上表中的,那也是可以安装的。
安装tensorflow之后,在anaconda prompt检查是否安装成功。乳沟是cpu版本,可以直接使用了。如果是gpu版本,输入以下命令,会显示找不到cudn。
activate tensorflow
python
inport tensorflow
- Cudn安装。Cudn的安装过程中会出现两个地址,第一个是解压地址,第二个是安装地址,第二个地址在选择精简版本还是自定义版本中出现。安装时最好安装地址最好是使用默认地址,我在第二次安装时修改了位置,结果安装位置下只出现了几个文件夹,相应的lib等文件在不知所踪,在后面的添加环境变量中根本找不到位置,所以只好又重新安装。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\libnvvp;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include
最后在cmd中使用
echo %path%
检查是否加入环境变量。
- cudnn安装。Cudnn 解压后的lib、include、bin等文件放入以下文件夹下。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0
至此,所有的安装文件已经安装了。 但是我们需要在pycharm中使用tensorflow,就需要在pycharm中配置python。
配置pycharm
如果想要在pycharm中使用tensorflow必须要使用tensorflow的python版本。具体操作如下图。
简单tensorflow测试实例
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File : hello.py
# @Author: smx
# @Date : 2018/7/17
# @Desc : import tensorflow as tf # 输出Hello, TensorFlow!
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello)) # 计算 10 + 32 并输出
a = tf.constant(10)
b = tf.constant(32)
print(sess.run(a+b)) # 把一个1*2的矩阵和一个2*1的矩阵相乘并输出
matrix1 = tf.constant([[3., 3.]])
matrix2 = tf.constant([[2.],[2.]])
product = tf.matmul(matrix1, matrix2)
result = sess.run(product)
print(result) sess.close()
实例输出:
到这里windows下的tensorflow就全部安装成功了。
总结几个安装过程中出现的问题。
- tensorflow版本选择cpu还是gpu,这两者的区别网上很多答案写的很清楚,就我自己来看,如果电脑配置还可以的话,建议使用gpu,能使用起来速度更快,后面跑一些模型的优势更明显。如果电脑配置跟不上,或者只是想简单的体验一下tensorflow的话,建议使用cpu版本,安装过程很简单,初期使用和gpu版本没有区别。
- 在anaconda prompt中pip tensorflow不成功,我试验了几次,发现不成功的原因是官网不稳定,下载到最后一个包时失败,后来换了清华镜像一下就下载成功了。
- 在cmd中import tensorflow出现错误找不到cuart9.0,这个是cuan的版本不对的问题,所以根据出错显示的版本重新下载一个就好。记得重新安装之前要将cudn之前的版本完全删除干净。直接电脑的删除程序中将cudn删除,cudn安装时会安装多个文件,要将带有cudn的文件全部删除,只留下这两个文件。
- 在cmd中import tensorflow成功,但是pycharm不成功,可能有两种原因:一是pycharm没有配置对,二是cudn的版本不对。这两种解决方案要根据实际情况来使用。
- 安装cudnn,之前是直接将解压后的文件放入cuda的对应文件下,但是后来检查cudnn是否成功,发现cudn安装不成功,经查贴,解决方案是需要将cudnn的lib文件加入系统环境变量。
- 使用conda install tensorflow发现找不到tensorflow1.4.0 或者1.5.0, 查贴发现。python3.7的pip只有tensorflow 1.12.0, 版本太高,所以需要将python的版本降到3.6. 做法是pip install python=3.6.
- 重新安装python3.6后,使用conda install tensorflow,发现还是找不到,使用pip install install tensorflow-gpu=1.12.0 安装成功!另附一张python,tensorflow,cuda,cudnn的版本图。