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程序终于跑通了!!!!截图如下: