ubuntu下配置anaconda和tensorflow常见问题的解决方案

实验速度遇到了瓶颈,于是申请换了显卡,gpu从gtx560更新到gtx980ti,硬盘从1T的机械硬盘换成了256g的固态硬盘,内存也从8g变成了32g,准备体验一波飞速训练的网络了。

本来以为配置tensorflow已经是轻车熟路了,然而这次重新装系统,重新配环境还是遇到了不少问题,记录在这里以后参考。

ubuntu和cuda toolkit的安装很简单,需要注意tensorflow官网上要求的toolkit版本和cudnn的版本。

tensorflow官网的谷歌版本可访问: tensorflow.google.cn

anaconda的安装按官网上的要求安装,anaconda-navigator是一个很好用的东西。

tensorflow的安装卡了我半天时间,主要是记录这里的常见问题。

-------------------------------------------------------------------------------------------------------------------------

ubuntu下配置anaconda和tensorflow常见问题的解决方案

-------------------------------------------------------------------------------------------------------------------------

首先创建anaconda下的tensorflow环境

conda create -n tensorflow pip python=2.7这里根据python版本选择2.7或者3.6

**source activate tensorflow

因为要使用gpu版本所以链接是

https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.7.0-cp27-none-linux_x86_64.whl

然而执行这个命令时,会出现 File is not a zip file 的bug

出现这个问题的原因是网络不稳定,下载时会中断,因此程序会判断你的文件不完整而拒绝install

解决方法是先将文件完整地下载到本地,再在本地进行安装

于是,首先执行wget https://storage.google...x86_64.whl

再pip install时把地址换成下载好的本地地址即可。 wget是个好东西,各种稳定下载大型文件,对于一些网络不稳定的国外数据非常适用


下载好后tensorflow已经可以用python的命令行执行了

使用前先要source activate tensorflow

打开python命令行

$python

>>>import tensorflow as tf

已经不会报错了


但是,编程是肯定不能用命令行的,要用spyder

在这个环境下打开spyder

同样import tensorflow as tf

会报错 No module named tensorflow


为何,因为这里调用的spyder是不在tensorflow环境env下的spyder

参考:

https://*.com/questions/30170468/how-to-run-spyder-in-virtual-environment

tensorflow环境下没有spyder,所以需要在这个环境装一个spyder

conda install -n tensorflow spyder

装好后依然要在source activate tensorflow即tensorflow的环境下打开spyder


我的电脑会出现spyder界面全是黑色的bug

QOpenGLShaderProgram: could not create shader program

ubuntu下配置anaconda和tensorflow常见问题的解决方案

这个问题是第一次遇到,google了好久找到了两种看起来有理有据的解决方法,我只试了第一种:

参考:

https://github.com/spyder-ide/spyder/issues/3226

在tensorflow环境下的spyder里找到start.py

这是我的位置,提供参考:

ubuntu下配置anaconda和tensorflow常见问题的解决方案

在里面加上一个依赖:

from OpenGL import GL

-------------------------------------------------------------------------------------------------------------------------

ubuntu下配置anaconda和tensorflow常见问题的解决方案

-------------------------------------------------------------------------------------------------------------------------

然后为这个依赖装上依赖的库

(tensorflow) [email protected]:~$ pip install pyopengl

安装好后再次打开spyder,就能正常运行了


尝试跑一下tensorflow官网上的cnn识别mnist

ubuntu下配置anaconda和tensorflow常见问题的解决方案

顺利执行,速度也比原来快了一大截,可喜可贺