远程对linux服务器安装theano+lasagne GPU配置

说明:

利用Putty 通过终端远程在服务器上安装 theano+lassagne

linux服务器上之前已经配置过 anoconda  CUDA驱动 cudnn

 

 

一 、进入anoconda并新建一个虚拟环境

由于theano官网 http://deeplearning.net/software/theano/install_ubuntu.html

说明其适应的是python2.7~python3.5,对于numpy等版本也有要求,所以最后开一个虚拟环境安装。

终端输入:

#进入conda
conda

#如果是Windows系统可以直接在anaconda终端输入下面的东西。
#创建虚拟环境

conda create --name theano python=2.7

二、在虚拟环境下安装theano lasagne

终端输入:

#进入theano环境
conda activate theano

#安装theano 
pip install --upgrade https://github.com/Theano/Theano/archive/master.zip

#安装lasagne
pip install --upgrade https://github.com/Lasagne/Lasagne/archive/master.zip


#此时可以进入python环境测试一下
#继续在终端输入:

python

import theano

import lasagne

如果可以import就说明安装成功。

此时默认是CPU版本。

需要GPU的可以继续配置。

 

三、GPU配置

如果之前电脑没有配置过显卡驱动,CUDA,以及 cudnn,需要配置一下。

#查看电脑显卡配置
lspci -nnk | grep -i nvidia 

#查看驱动安装信息。如果有显示,则说明驱动已经安装,否则需要安装驱动。
nvidia-smi

#查看CUDA版本。如果没有显示,说明未安装,需要安装。
cat /usr/local/cuda/version.txt

#查看cudnn版本。未显示则需要安装。
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

查看显卡配置之后,可以下载相应驱动。显卡驱动下载见官网https://www.geforce.com/drivers

下载对应版本后,可以参考 https://onlycaptain.github.io/2018/08/18/Ubuntu%E4%B8%8BNvidia%E9%A9%B1%E5%8A%A8%E5%AE%89%E8%A3%85/ 进行安装与避雷。

CUDA与cudnn配置可以参考 https://blog.csdn.net/allenlzcoder/article/details/78702279

 

如果上述安装成功,则可以继续下一步。

需要在根目录下 寻找  .theanorc文件,并将下文复制进去。

[global]
device = cuda
floatX = float32

找了很久,都没有找到  .theanorc文件

通过终端

find / -name '.theanorc'

也木有找到,折腾了好久!

于是直接在根目录下创建了一个命名为  .theanorc 文件,然后竟然成功了.....

后来参考官网,发现就是要直接自己创建的....

 

四、GPU测试

from theano import function, config, shared, tensor
import numpy
import time

vlen = 10 * 30 * 768  # 10 x #cores x # threads per core
iters = 1000

rng = numpy.random.RandomState(22)
x = shared(numpy.asarray(rng.rand(vlen), config.floatX))
f = function([], tensor.exp(x).transfer(None))
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" % (numpy.asarray(r),))
if numpy.any([isinstance(x.op, tensor.Elemwise) and
              ('Gpu' not in type(x.op).__name__)
              for x in f.maker.fgraph.toposort()]):
    print('Used the cpu')
else:
    print('Used the gpu')

如果输出的是 Used the gpu,就说明对了。

如果出错,有一个可能就是 numpy版本不匹配,需要更换 NumPy >= 1.9.1 <= 1.12,pygpu>0.7

pip install numpy==1.12.1

pip install pygpu=0.7

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值