因为最近需要学习深度学习,因此想要配置Theano,来开发深度学习算法。但是发现Theano安装总是出现问题。于是在这里中总结一下。
环境 相关库简介BLAS(Basic Linear Algebra Subprograms)是基础线性代数子程序库,里面拥有大量已经编写好的关于线性代数运算的程序;
LAPACK (Linear Algebra PACKage)包含了求解科学与工程计算中最常见的数值线性代数问题,如求解线性方程组、线性最小二乘问题、特征值问题和奇异值问题等;
ATLAS是python下的一个线性代数库,是基于另外两个线性代数库BLAS和lapack的;
NumPy提供了一个在python中做科学计算的基础库,它重在数值计算,甚至可以说是用于多维数组处理的库;
SciPy是基于numpy,提供了一个在python中做科学计算的工具集,也就是说它是更上一个层次的库;
Theano则是基于NumPy以及SciPy的一个更高级的用于科学计算的库。
相关库的关系要安装Theano,就需要先安装好numpy和scipy;
要安装numpy和scipy,就需要ATLAS;
要安装ATLAS,就需要安装BLAS和LAPACK;
相关库的安装顺序安装顺序:BLAS → LAPACK → ATLAS → numpy → scipy → Theano
检查numpy和scipy是否通过测试说明:如果你的numpy和scipy是通过apt-get安装的,那么它们的单元测试可能会通不过!!!(我在安装过程中没有通过测试,scipy出现了Error)
如果numpy或scipy不能通过测试,就需要卸载,然后重新按照本文介绍的顺序安装。
# 检查numpy是否通过测试 python -c "import numpy;numpy.test()"
如果numpy通过测试,会出现如下图所示的结果。注意最后一行errors=0 failures=0。如果没有通过测试,需要卸载并重新安装。
如果scipy通过测试,会出现如下图所示的结果。注意最后一行errors=0 failures=0。如果没有通过测试,需要卸载并重新安装。
注意:scipy很可能会出现测试错误,比如我安装过程中出现下图所示的错误。
使用pip安装numpy和scipy
安装pip的命令:sudo apt-get install python-pip
注意:一定要在安装完lapack/blas之后,再安装numpy和scipy。否则,会出现错误no lapack/blas resources found
安装numpy和scipy的命令如下所示。
# 安装numpy sudo pip install numpy # 测试numpy # 测试通过才能进行下一步~~ python -c "import numpy;numpy.test()" # 安装scipy sudo pip install scipy # 测试scipy # 测试通过才能进行下一步~~ python -c "import scipy;scipy.test()" 安装线性计算库、numPy和sciPy的编译方法(推荐) 编译安装OpenBlas tar -zxvf OpenBLAS**.tar.gz cd OpenBLAS*** make -FC gfortran #需要已经安装gfortran make install # 安装在/opt/OpenBLAS/目录下 安装numPy tar -zxvf numpy***.tar.gz cd numpy*** cp site.cfg.example site.cfg vi site.cfg #将以下4行去掉注释。【101行--104行】 #[openblas] #libraries = openblas #library_dirs = /opt/OpenBLAS/lib #include_dirs = /opt/OpenBLAS/include安装numPy。
sudo python setup.py config sudo python setup.py build sudo python setup.py install 安装sciPy tar -zxvf scipy***.tar.gz cd scipy*** # 将numPy**中的配置文件复制到此处 cp ../numpy**/site.cfg.example ./site.cfg安装sciPy。
sudo python setup.py config sudo python setup.py build sudo python setup.py install 安装其它库