Ubuntu Server 16.04 配置Keras
来源:互联网 发布:淘宝阿迪达斯折扣店 编辑:程序博客网 时间:2024/05/22 06:45
Ubuntu Server 16.04 配置Keras
在整个配置过程之前,由于本文使用大量下载,安装的工作,建议使用alt+f1,f2使用多个终端进行工作,节省时间,同时由于个人在配置过程中出现了各种各样的问题,所以可能会配置多余的东西,欢迎批评指正。
首先配置python环境
sudo apt-get install python-dev python-pip
然后选择y使得继续安装,然后可以通过python测试是否安装成功。
对于Keras的首页上来说,安装顺序第一个是要安装numpy和scipy,但是这两个还需要引用一些包,首先是blas,然后是lapack和atlas,所以要先安装这几个,然后我就觉得cblas也顺便装上了,防止有人不知道,安装方式是先下载压缩包,使用命令wget,如果没有可以使用命令获取这个服务。
sudo apt-get install wget
然后就是通过wget下载文件了,形式如下:
sudo wget http://web/../name
blas的下载地址是http://www.netlib.org/blas/blas.tgz,cblas的下载地址是http://www.netlib.org/blas/blast-forum/cblas.tgz,lapack的官方包地址: http://www.netlib.org/lapack/,atlas的官方包地址:http://sourceforge.net/projects/math-atlas/,但是atlas可以简便安装,后面可以看一下。
选择一个包进行下载,就比如blas命令是:
sudo wget http://www.netlib.org/blas/blas.tgz
然后对于各个包安装方式如下:
blas:
下载文件后,对压缩包进行解压,进入目录,执行命令为:
gfortran -c -O3 *.f # 编译所有的 .f 文件,生成 .o文件
ar rv libblas.a *.o # 链接所有的 .o文件,生成 .a 文件
su cp libblas.a /usr/local/lib # 将库文件复制到系统库目录
cblas:
进入CBLAS文件夹,根据你自己的计算机平台,将目录下某个 Makefile.XXX 复制为 Makefile.in , XXX表示计算机的平台,如果是Linux,那么就将Makefile.LINUX 复制为 Makefile.in,然后使用下面的命令安装:
cp ../BLAS/libblas.a testing # 将上一步编译成功的 libblas.a 复制到 CBLAS目录下的testing子目录
make # 编译所有的目录
sudo cp lib/cblas_LINUX.a /usr/local/lib/libcblas.a # 将库文件复制到系统库目录下
lapack:
编译 lapack以及lapacke,这一步比较麻烦,首先当然是进入lapack-3.4.2文件夹,然后根据平台的特点,将INSTALL目录下对应的make.inc.XXX 复制一份到 lapack-3.4.2目录下,并命名为make.inc, 这里我复制的是 INSTALL/make.inc.gfortran,因为我这里用的是gfortran编译器。
修改lapack-3.4.2/Makefile, 因为lapack以来于blas库,所以需要做如下修改
#lib: lapacklib tmglib
lib: blaslib variants lapacklig tmglib
make # 编译所有的lapack文件
cd lapacke # 进入lapacke 文件夹,这个文件夹包含lapack的C语言接口文件
make # 编译lapacke
cp include/*.h /usr/local/include #将lapacke的头文件复制到系统头文件目录
cd .. #返回到 lapack-3.4.2 目录
cp *.a /usr/local/lib # 将生成的所有库文件复制到系统库目录
altas:
由于安装比较麻烦,我直接使用命令就可以:
sudo apt-get install libatlas-dev
然后numpy和scipy需要nose的支持,所以再安装一个nose:
sudo apt-get install python-nose
然后还有各种包:
# 安装blas,Ubuntu下对应的是libopenblas,其它操作系统可能需要安装其它版本的blas——这是个OS相关的。sudo apt-get install libopenblas-dev# 安装lapack,Ubuntu下对应的是liblapack-dev,和OS相关。sudo apt-get install liblapack-dev# 安装atlas,Ubuntu下对应的是libatlas-base-dev,和OS相关。sudo apt-get install libatlas-base-dev# 安装numpy,scipysudo apt-get install python-numpy python-scipy
测试numpy和scipy是否完成安装,可以在python中,调用并执行numpy.test()和scipy.test(),进行测试,numpy.test()一般是十几秒,scipy.test()差不多一两分钟的样子下面Theano.test()多于半个小时吧,反正我没跑完就给停了。
安装Keras需要Theano的环境,同时需要GPU的支持,使得矩阵计算可以更快速,那么就需要在Ubuntu Server上安装相关的显卡驱动,对于我的电脑版本,使用的是NVIDIA的显卡,所以直接安装相关驱动就可以了。
查看电脑显卡型号:
lspci |grep VGA
或者直接输入lspci可以查看所有的 硬件设备,在当中找到显卡的相关信息。
然后后面装Theano的时候,theano.test()经常会出现pyCUDA引用出错的问题,所以我先安装了pyCUDA的相关组件,由于pyCUDA需要GPU的工作,所以还需要安装GPU卡的驱动,但是不能使用Ubuntu的图形界面,所以首先先关闭图形界面:
sudo service lightdm stop
当然这句话是对非Server的用户而言的,因为Server是没有这个服务的,同时需要屏蔽Nouveau驱动,否则容易在装完cuda的时候直接黑屏,首先修改黑名单:
sudo vi /etc/modprobe.d/blacklist.conf
然后添加以下内容:
blacklist vga16fbblacklist rivafbblacklist nvidiafbblacklist rivatv
首先安装nvidia驱动:
sudo apt-get install nvidia-375
可以通过命令查看是否安装完成:
nvidia -smi
然后下载cuda的相关文件,https://developer.nvidia.com/cuda-downloads,我下载的是cuda_8.0.61_375.26_linux.run,自带GPU的驱动,所以就直接下载之后,通过命令执行安装:
chmod a+x cuda_8.0.61_375.26_linux.runsudo ./cuda_8.0.61_375.26_linux.run
有可能在安装nvidia驱动的时候会提示关闭x server,可以通过以下语句关闭,重新安装。
sudo /etc/init.d/lightdm stop
安装cuda后需要修改sudo gedit ~/.bashrc,添加以下内容:
64位:export PATH=/usr/local/cuda-7.5/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH32位:export PATH=/usr/local/cuda-7.5/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib:$LD_LIBRARY_PATH
同时也可以通过apt-get方式获取nvidia-cuda-toolkit:
sudo apt-get install nvidia-cuda-toolkit
然后在使用theano的时候,需要numpy,scipy等库,有Anaconda的可以包含这些库,所以下载并安装Anaconda:https://www.continuum.io/downloads#linux,然后通过以下命令安装,期间询问是否添加到PATH时候,选择yes:
bash Anaconda2-4.4.0-Linux-x86_64.sh
然后让配置文件生效:
source ~/.bashrc
然后使用apt-get安装numpy和scipy时,好像还是可以安装的,不知道是不是依赖产生了问题,所以我又安装了一次,由于需要nose包,所以也先安装了nose包。
sudo apt-get python-nose python-numpy python-scipy
然后安装yaml
sudo -H pip install pyyaml
再安装Theano
sudo -H pip install Theano
通过一段cpu和gpu的查看代码,可以查看是否完成了安装:
from theano import function, config, shared, sandboximport theano.tensor as Timport numpyimport timevlen = 10 * 30 * 768 # 10 x #cores x # threads per coreiters = 1000rng = numpy.random.RandomState(22)x = shared(numpy.asarray(rng.rand(vlen), config.floatX))f = function([], T.exp(x))print(f.maker.fgraph.toposort())t0 = time.time()for i in range(iters): r = f()t1 = time.time()print("Looping %d times took %f seconds" % (iters, t1 - t0))print("Result is %s" % (r,))if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]): print('Used the cpu')else: print('Used the gpu')
有可能会出现许多关于gpu无法使用的问题,我的问题是:
ERROR (theano.sandbox.cuda): Failed to compile cuda_ndarray.cu: libcublas.so.8.0: cannot open shared object file: No such file or directory WARNING (theano.sandbox.cuda): CUDA is installed, but device gpu is not available (error: cuda unavailable) [Elemwise{exp,no_inplace}(<TensorType(float32, vector)>)] Looping 1000 times took 2.026935 seconds Result is [ 1.23178029 1.61879337 1.52278066 ..., 2.20771813 2.29967761 1.62323284] Used the cpu
错误原因是文件找不到,解决办法:
执行命令: ldconfig /usr/local/cuda/lib64就可以解决了。
- Ubuntu Server 16.04 配置Keras
- ubuntu server 14.04 配置TensorFlow & Keras环境
- ubuntu-anaconda-keras配置
- ubuntu server 16.04 配置网络
- ubuntu 16.04 server配置openfire
- ubuntu 16.04+Anaconda+theano+keras安装
- ubuntu下Keras中神经网络可视化模块keras.utils.visualize_util安装配置方法
- Ubuntu下Python深度学习TensorFlow+Theana+Keras配置文档
- ubuntu server 配置ftp server
- ubuntu server 16.04 为docker配置代理
- Ubuntu Server 16.04 配置静态IP
- ubuntu server 16.04安装与网络配置
- VirtualBox ubuntu server 16.04配置静态IP
- VirtualBox ubuntu server 16.04配置静态IP
- ubuntu ftp server配置
- Ubuntu Server安装配置
- ubuntu ftp server配置
- Ubuntu Server 网络配置
- 【Netty入门】解决TCP粘包/分包的实例
- Maven插件声明顺序的微妙差别
- 跳棋的挑战,n皇后
- 从底层原理深入理解 PHP 的引用 “&”
- JS之数组元素排序方法sort
- Ubuntu Server 16.04 配置Keras
- okHttp各个module介绍
- Ubuntu server16.04 网络配置中遇到的问题
- Mysql 学习(二)
- PEP8 Python 编码规范整理
- 培训与成长
- HBase介绍及安装部署
- 从弗洛伊德到Hello World:我的IT之路
- 前端知识点总结(三)