介绍
tensorflow使用之前的安装和环境配置是头等大事,只有这个解决了,才能进行后面的学习和使用。本文介绍了在win10 操作系统上面安装tensorflow-CPU和tensorflow-GPU的环境。
说在安装之前
- tensorflow需要先安装anaconda,然后再在anaconda中安装tensorflow,
conda install tensorfow
,这里最好先下载镜像,然后安装,国内容易被墙,很多时候安装一大半就失败了。 - 安装anaconda,再安装其cpu或者GPU版本。最后再在spyder中使用。
- 然而,对于习惯使用pycharm而非anaconda的朋友来说,安装tensorflow是一件多么不幸的事情呀,
pip install tensorflow
,至少我没有成功过,可以安装完成anaconda后,在pycharm中调用anaconda中的解释器。 - 对于anaconda中是否需要再安装一个虚拟环境,在这个环境里再安装tensorflow这个问题,我觉得完全没有必要,虽然网上很多贴子都是这么做的,anaconda已经安装这么多包了,不在乎多这么一个了。
一、win10 搭建tensorflow-CPU环境
已经在另一篇博客中介绍了,pycharm+anaconda+tensorflow(CPU)
二、win10 搭建tensorflow-GPU环境
cpu只能解决一些运算量很小的问题,学习还可以,但真需要使用时,就捉襟见肘了。这里就要用到GPU来加速了。在搭建tensorflow-gpu环境之前有几个问题不得不注意:
- 1、cuda9.0+cudnn9.0+tensorflow-gpu1.9.0,三者版本需要对的上
- 2、cunda9.0的安装路径和环境变量的配置问题
- 3、tensorflow1.9.0和numpy的不兼容问题,numpy==1.14.0降低到numpy==1.13.0
- 4、使用清华镜像源会出现的问题
1、环境
- 操作系统:win10
- GPU:GTX1050+CUDA9.0+cuDNN9.0
- IDE:Pycharm
- 框架:tensorflow-gpu1.9.0
- 解释器:Python3.6
(强烈建议anaconda3,又方便又强大,下载太慢可以找镜像)
2、安装顺序
(1)首先安装CUDA9.0 官方下载地址
现在最新的已经是9.2版本了。而我选择9.0版本,是因为网上说,tensorflow的windows-gpu还不支持CUDA的新版本。再加上网上安装9.0版本的教程都成功了,我就偷偷懒。
按照要求,一路绿灯。
note
:这里的安装路径选用系统默认,最后肯定会安装到C盘
(2)CUDA9.0 环境变量配置
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin
(3)安装cuDNN9.0 官网下载地址
下载搭配CUDA9.0的cudnn ,一定要注意搭配9.0。需要注册英伟达的账号,这个过程可能很痛苦,国外网站使用不易。
下载好之后,解压,分别将.h .lib 和.dll 文件分别拷贝到cuda的include, lib/x64, bin 文件夹下。其实也就是对应的文件夹。
到这里就安装好了CUDA9.0及其对应的cudnn。
(3)安装tensorflow-GPU
为了不相干扰,先删除之前安装的是cpu版本。
>> pip uninstall tensorflow
然后安装清华镜像源中的程序
>> pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==1.9.0
添加到path当中
(4) 验证
在命令行中,进入python,并输入以下代码:
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
输出:
b’ Hello, TensorFlow!
安装完成
3、遇到的大坑
(1)镜像源带来的版本问题
https://mirrors.tuna.tsinghua.edu.cn/
https://mirrors.tuna.tsinghua.edu.cn/help/pypi/
注意两者的区别,前者不是最新的安装包,很容易出现问题
以前使用清华镜像源来安装软件,能大大提升下载速度,但是遇到一个很严重的问题,清华镜像源上的版本问题,这里使用的是cuda9.0+cuDNN9.0,自然tensorflow-gpu也应该是1.9.0版本,而清华镜像源上的是1.1.0版本,根本就不行。这里要先解除镜像源链接,再重新安装。
- 添加 Anaconda 仓库的镜像源:
>> conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
>> conda config --set show_channel_urls yes
添加之后,就会从镜像源中直接下载,速度是非常快的
- 查看镜像源:
conda config --show
- 删除镜像源:
conda config --remove channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'
对于一些镜像源出现的版本限制,可以删除此镜像源
(2)tensorflow1.9.0及其他高版本对numpy的不兼容问题
运行的时候会出现如下错误类型:
.local/lib/python2.7/site-packages/h5py/init.py:36: FutureWarning: Conversion of the second argument of issubdtype from
float
tonp.floating
is deprecated. In future, it will be treated asnp.float64 == np.dtype(float).type
.
from ._conv import register_converters as _register_converters
解决方法:这是因为numpy高版本与h5py不兼容导致,可以用 pip install numpy==1.13.0 安装旧版本的numpy解决