安装TensorFlow躺坑总结(win + anaconda,附 keras 安装)
我的笔记本之前装过一个,结果环境崩了
抱着试试的心态装一个TensorFlow-gpu,完美地用了一天,结果,
又炸了。。。
心态崩了的我决定写一篇总结来记录这一路上的坑 /笑哭
一、安装CPU版本(这个比较简单)
可以先加一下清华仓库的镜像,这样更新会快一些 (以下均为anaconda prompt操作)
1
2conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes创建环境,安装Python3.6
1
conda create --name tensorflow python=3.6 //tensorflow是名字
激活环境(很重要)
1
activate tensorflow
安装tensorflow
1
pip install --upgrade --ignore-installed tensorflow![1](C:\Users\asusA\Desktop\1.png)
(图片不是当时的图,仅供参考。。)
一定注意准备安装的时候这个环境有没有选对!!!不然就装错环境了(血泪教训)
验证
1
2
3
4
5//先在环境下输入python,然后依次执行下面的
import tensorflow as tf
hello = tf.constant('hello,tf')
sess = tf.Session()
print(sess.run(hello))结果如下:
tensorflow就安装好啦!
安装Spyder和jupyter的插件
a 打开
Anaconda Navigator
,选择Not installed
,找到 jupyter和Spyder并安装,笔者这里已经安装好,所以在这个页面没有显示。安装好了之后可以打开Spyder和jupyter运行一下上面的代码
以上还比较轻松,在网速可以的情况下没有大问题。
但是。。下面就要开始坑了 / 笑哭
二、安装gpu版本
主要参考tensorflow-gpu1.8.0+win10+vs2017+CUDA9.2 安装——从挖坑到跳坑到出坑
以及Win10下Tensorflow(GPU版)安装趟坑实录
安装tensorflow-gpu之前,还需要安装两个东西 CUDA 和 cudnn
CUDA是9.2版本,对应cudnn的版本是7.1.2
安装CUDA和cudnn
按照 Win10下Tensorflow(GPU版)安装趟坑实录 这篇文章来安装,基本没有太多问题
我后来又捣鼓着加了环境变量,有可能有用吧。。。
最上面的四个
安装tensorflow-gpu(划重点!!!)
一开始尝试了
pip install --ignore-installed --upgrade tensorflow-gpu
失败。。
参考 Win10系统下Anaconda的tensorflow-gpu安装,继续尝试1
pip install --ignore-installed --upgrade tensorflow-gpu -i https://pypi.tuna.tsinghua.edu.cn/simple
还是失败。。
最后,林大神出现了,指明了前进的方向 →_→
以下步入正题:
打开anaconda prompt,输入
1
anaconda search -t conda tensorflow-gpu
会列出可用的安装包,长这个样子:
然后选一个中意的(版本稍微高一点,然后支持win64),我选了anaconda/tensorflow-gpu
接下来输入:
1
anaconda show anaconda/tensorflow-gpu // 对应于上面选的包
会弹出安装方法:
然后进入环境
activate tensorflow-gpu
(此处默认环境已经新建好了)输入上面划线的那个代码,然后就可以安装了
(不出意外的话应该半个多小时可以安装好)
PS:如果页面发现不下载了,可能是页面卡住了,黑色界面单击鼠标右键就好
验证是否用CUDA加速
大功告成的话就可以稍稍庆祝一下啦
附 Keras 安装
进入需要安装的环境,然后安装Keras
1
pip install keras
安装MinGW
1
conda install mingw libpython
验证
输入Python,再输入import keras,显示Using TensorFlow backed,则说明安装成功,如图。
参考Win10系统 安装Anaconda+TensorFlow+Keras
后记
安装好了的第二天我很高兴地跑吴恩达的代码作业,发现没有pil库,倒腾了半天,装了pillow,还顺便装了opencv,结果吃完饭就发现。。jupyter has died. 然后发现import tensorflow as tf 没有反应。下面开始我的检查之旅:
用如下的代码检查了一下CUDA和GPU发现结果是false,就很僵硬
1
2
3
4
5
6
7
8import tensorflow as tf
a = tf.test.is_built_with_cuda() # 判断CUDA是否可以用
b = tf.test.is_gpu_available(
cuda_only=False,
min_cuda_compute_capability=None) # 判断GPU是否可以用
print(a)
print(b)
tf.__version__结果正常应该是这样的:
运行cmd检查CUDA安装
通过cd到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\demo_suite目录下,执行bandwidthTest.exe,deviceQuery.exe,两步都打印出【Result=PASS】,则CUDA安装成功 参考 win10下GPU加速的Keras配置(CUDA, cuDNN)
1
2
3
4# 在cmd窗口下一次执行下面的语句(cmd窗口可以通过win+R快捷键找到)
cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\demo_suite
bandwidthTest.exe
deviceQuery.exe效果如下图:(有时候开机之后发现没有pass。可能不是CUDA的问题,重启就好了)
继续输入代码检查nvcc:
1
nvcc -V
后来出现了以上两步都没问题,跑小代码也没问题,结果运行模型就开始died。。。试图重装tensorflow,重新配环境,好了一两天,结果装了几个库之后又崩了,于是下定决心找问题
下面开始拯救之旅:
重新安装tensorflow,用原来的包安装,用不同的包安装,配新的环境安装,都没有解决实质问题
周日怀疑是CUDA和cudnn的问题,安装的版本不兼容可能还会有问题。于是重新装了CUDA9.0和cudnn7.3.0。当天晚上依然没有解决,感觉在疯了的边缘挣扎
不过获得了有效信息,关于如何鉴别CUDA和cudnn的版本兼容,参考我的AI之路(5)–如何选择和正确安装跟Tensorflow版本对应的CUDA和cuDNN版本
这次的安装我配了好多环境变量,参考了win10下GPU加速的Keras配置(CUDA, cuDNN)
注意:环境变量它有两个图,第一幅图里的不要配,会报错。只配第二幅图。不过后来感觉可能和环境也没啥关系
周一上完毛概课,吃完午饭调整好情绪,继续尝试。此时关注到jupyternotebook的后台窗口有显示下面的error
从上图可以看到,刚开始还是在用我的950M的GPU,后来我运行模型的时候就开始崩了,各种error。上网查了资料,给出的解答是由于GPU配置不对造成的。下面给出这个折腾了我多天的问题的解决方案(目前还比较有效)
运行Python模型之前运行这段代码:
1 | import tensorflow as tf |
看一下jupyternotebook后台的变化:
好像没问题了。。然后就很神奇地发现,模型可以跑了!
附上一张训练的图:
吴恩达的作业里写:16 seconds per epoch on a GRID K520 GPU,我的950M平均23s,感觉也 还蛮快/笑哭
希望可以正式结篇了。。。
注:那个代码好像得每一次开一个新的文件就要运行一遍。有时候还会出现resource exhausted的提示。个人理解是内存不够了。推荐关掉程序重开