win10安装tensorflow-cpu和tensorflow

2018-08-29  本文已影响0人  魏云舒
SZU

介绍

tensorflow使用之前的安装和环境配置是头等大事,只有这个解决了,才能进行后面的学习和使用。本文介绍了在win10 操作系统上面安装tensorflow-CPU和tensorflow-GPU的环境。



说在安装之前

一、win10 搭建tensorflow-CPU环境

已经在另一篇博客中介绍了,pycharm+anaconda+tensorflow(CPU)

二、win10 搭建tensorflow-GPU环境

cpu只能解决一些运算量很小的问题,学习还可以,但真需要使用时,就捉襟见肘了。这里就要用到GPU来加速了。在搭建tensorflow-gpu环境之前有几个问题不得不注意:

1、环境

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版本,根本就不行。这里要先解除镜像源链接,再重新安装。

>> 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 to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type.
from ._conv import register_converters as _register_converters

解决方法:这是因为numpy高版本与h5py不兼容导致,可以用 pip install numpy==1.13.0 安装旧版本的numpy解决

上一篇下一篇

猜你喜欢

热点阅读