Ubuntu安装Theano

一些前提要求:

Python == 2.7 *或(> = 3.4和<3.6)

Numpy > = 1.9.1 <= 1.12

Scipy > = 0.14 <0.17.1

pip3 >= 8.1 (注意:先不要去升级pip3,升级后容易出现"for pip import main"...的问题)

(可选)python-dev,g++ >= 4.2

接下来就是使用pip安装,必须单独安装Theano、libgpuarray和pygpu:

 

①安装最新稳定版的Theano:

官方安装是:  pip3 install < -  user> Theano [test,doc]

几点解释:

(1) < >就是可要可不要,如pip3 install...就不要,要的话就不要带<>了;

(2) - user的意思就是众所周知ubantu系统可以有设置有多个用户,- user就是安装到目前你登陆的账户所在文件里;

(3) [test,doc]将安装测试要求,并这些要求以生成文档,博主本人用test doc时提示没有匹配的doc版本;

博主建议安装: sudo pip3 install Theano test,如果多用户使用一个ubantu,就在install后加 - user 

 

②安装libgpuarray和pygpu:

一些安装前提:

cmake >= 3.0;Cython >= 0.25;git (下载就行)

这里用官方给出的没有问题: 

(1)下载libgpuarray

     git clone https // github com / Theano / libgpuarray

(2) 安装libgpuarray

    cd libgpuarray

    mkdir Build

    cd Build

    cmake .. - DCMAKE_BUILD_TYPE = Release

     make             #  如果提示权限不够就加sudo

     make install   # 如果提示权限不够就加sudo

    cd ..

     (3)在libgpuarray包里安装pygpu

         python setup.py build

         python setup.py install

这里如果你有anaconda,那么你想装pygpu和libgpuarray的话,可以使用以下命令行:

conda install pygpu  (0.69版本)
或者 conda install -c conda-forge pygpu (安装最新的pygpu和libgpuarray)

③开始测试是否使用GPU:

   (1)如果不想以后麻烦就先做以下这步:

        生成文件 sudo gedit ~/.theanorc;

        采用官方配置:

          [global] 
   device = cuda 
          floatX = float32

          博主自己添加了gpuarray.preallocate = 0.94,这个就是你每次运行一个代码,分配百分之多少的显存;

如果你目前登陆的用户只有一个cuda,就不用添加cuda的位置,否则加入:

           [cuda]                                                                                                                                                                                                 root =/usr/local/cuda-8.0

   (2)给出官方测试代码:

  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))
  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, 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')                                                                                           
如果打印出cuDNN以及你的显卡信息,并且打印出 Used the gpu,则成功: 

                               

④常见问题:

ERROR (theano.gpuarray): pygpu was configured but could not be imported or is too old (version 0.7 or higher required)

如果是使用pip3安装出现上述问题,那么请重新操作②中第(3)步,也即重新安装pygpu(默认更新到最新版本):

python setup.py build

sudo python setup.py install

博主操作效果如下图:

Ubuntu安装Theano_第1张图片

 

 

 

你可能感兴趣的:(系统工具,深度学习工具,theano,gpu,pygpu,ubuntu)