您的位置:首页 > 其它

debian下安装Theano(附pydot问题解决方法)

2016-01-28 16:43 633 查看
Ubuntu能安装Theano,按道理debian也能安装theano,而且安装方法应该是一样的。先po上安装的方法:

安装过程

确保机器能上网,ctrl+alt+T打开Terminal,先 sudo apt-get update ,让源能够工作

安装依赖库

sudo apt-get install python-numpy python-scipy python-dev python-pip python-nose g++ libopenblas-dev git


安装theano

sudo pip install Theano


若要继续安装GPU工具CUDA,大家可以按照这里来http://www.johnwittenauer.net/configuring-theano-for-high-performance-deep-learning/

测试安装是否正确

按照官网上ubuntu的安装方法安装,把除了CUDA之外的都装了,按照下列顺序跑测试代码,正常情况下大家可能有一些fail和warning,但是没有error,说明测试跑通了。

测试代码:

1.NumPy (~30s): python -c “import numpy; numpy.test()”

2.SciPy (~1m): python -c “import scipy; scipy.test()”

3.Theano (~30m): python -c “import theano; theano.test()”

然而我的机子上theano的代码并不能跑通,有一个error!!!但是在我的Ubuntu笔记本上跑并没有error.截图如下:



根据歪过人的安装过程,发现他在debian上装的是OpenBLAS库而非libopenblas-dev.我决定试试是否是这个库的问题。OpenBLAS需要我们在Github自己下载,在装这个之前需要先安装gfortran来支持OpenBLAS.

sudo apt-get install gfortran


然后安装OpenBLAS

git clone https://github.com/xianyi/OpenBLAS cd OpenBLAS
make FC=gfortran
sudo make PREFIX=/usr/local install


重新测试theano,发现还是报一样的错,运行时间还多了一秒,看来问题不在这个openblas。后来一想是在读写时报的syntax error,可能就是某些读写模块有问题,以至于不能识别特定的符号。

正确的解决方法

由于报错在于pydot的读写,我又仔细看了一遍运行过程中所有的Warning,发现在一开始程序就报了一个错:

Couldn't import dot_parser, loading of dot files will not be possible.


说明是pydot不能正确载入导致的问题,看来这才是关键所在!!根据stackoverflow上的建议,这是因为pydot的版本问题导致的,安装pydot2可以解决这个问题,于是

sudo pip install pydot2


再次运行theano.test(),一开始不再报上述警告了,这个error终于解决。然而运行结束,还是有一个error,这一回是另一个了,graph.append()的问题,截图如下:



cannot concatenate 'str' and 'NoneType' objects


这是pydot版本太旧的问题,把旧的pydot卸载,只剩pydot2就可以了

sudo pip uninstall pydot


再运行theano.test()就可以了。test程序终于跑通了!!!!截图如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  debian theano