zoukankan      html  css  js  c++  java
  • theano + gpu

    Teano安装测试

    1. Anaconda 安装

    Anaconda是一个科学计算环境,自带的包管理器conda很强大。之所以选择它是因为它内置了python,以及numpy、scipy两个必要库和一些其他库,比起自己安装要省事。

    首先下载Anaconda-2.1.0-Windows-x86_64.exe 安装选择默认配置即可,下砸地址。安装成功后效果如下:

    这里有Anaconda管理器(Anaconda Command Prompt),输入conda list来查看已经安装的库。我们可以看到Anaconda已经安装了numpy, nose, pip, python, scipy, mingw等等

    PS:

    conda install <pkg name> #该命令用于安装应用包,如 conda install numpy.
    pip install <pkg name> #该命令用于安装应用包,如 pip install theano.
    conda update <pkg name> #升级应用包,如 conda update python

    2.卸载之前版本

    因为Anaconda里边包含了python,所以需要在windows环境变量中找到Python的环境变量,删除它。或者直接将之前单独安装的python等统统卸载掉。这一步可以在安装Anaconda之前进行。

    3. 安装theano

    有如下两种安装方法:

    1)打开CMD或Anaconda命令窗口,输入 pip install theano。 回车后就是赏心悦目的下载进度条,这个很小,所以安装的比较快。

    2)手动下载theano的zip文件

        下载地址:https://github.com/Theano/Theano ,解压到XXX/Anaconda/Lib/site-packages/theano(文件里面有个theano的文件夹,拿出来放在E:/Anaconda/Lib/site-packages里面)目录下。

        添加环境变量:    path: XXX/Anaconda/MinGW/bin;E:/Anaconda/MinGW/x86_64-w64-mingw32/lib;  

                              (32bit  E:/Anaconda/MinGW/i686-w64-mingw32/lib;)   

        新建环境变量:  PYTHONPATH: E:/Anaconda/Lib/site-packages/theano;

    PS:有些Anaconda版本底下没有MinGW包,这时可以:CMD输入 conda install mingw libpython, MinGW会自动装到Anaconda下。

    4. 测试Theano

    在cmd中,输入python 进入到python环境下(PS:此时调用的应该是Anaconda自带的Python,check一下输出路径),然后先输入import theano回车,需要等一段时间,不输出error则说明安装成功。


    GPU加速配置

    对于用GPU的人(要安装相应的CUDA版本,比如说我用的64位的python环境(Anaconda 64位),CUDA的版本也是64位的)

    CUDA的 配置可参考 http://blog.csdn.net/yeyang911/article/details/17450963

    1. 配置 .theanorc.txt文件

    [global] 
    openmp=False 
    device = gpu 
    floatX = float32 
    allow_input_downcast=True 
    [blas] 
    ldflags= 
    [gcc] 
    cxxflags=-IE:AnacondaMinGW 
    [nvcc] 
    flags = -LE:Anacondalibs #此处是Anaconda的路径 
    compiler_bindir = E:VS2010VCin #此处一定要和你安装的VS的路径保持一致,如果是默认安装的,应该是C:Program Files(x86)Microsoft Visual Studio 10.0VCin 
    fastmath = True 

    2. 测试GPU加速

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    from theano import function, config, shared, sandbox
    import theano.tensor as T
    import numpy
    import time
     
    vlen = 10 * 30 * 768  # 10 x #cores x # threads per core
    iters = 1000
     
    rng = numpy.random.RandomState(22)
    = shared(numpy.asarray(rng.rand(vlen), config.floatX))
    = function([], T.exp(x))
    print (f.maker.fgraph.toposort())
    t0 = time.time()
    for in range(iters):
        = f()
    t1 = time.time()
    print ('Looping %d times took' % iters, t1 - t0, 'seconds')
    print ('Result is', r)
    if numpy.any([isinstance(x.op, T.Elemwise) for in f.maker.fgraph.toposort()]):
        print ('Used the cpu')
    else:
        print ('Used the gpu')

     


    参考:http://blog.csdn.net/niuwei22007/article/details/47684673

     http://blog.sina.com.cn/s/blog_990865340101hvuq.html

  • 相关阅读:
    jmeter4-数据库性能测试
    jmeter2-接口性能测试
    jmeter1-测试流程
    jmeter-beanshell随机取数组一项
    最强MySQL数据库设计规范... (转载)
    Python词云
    adb常用命令
    jmeter线程组多个请求之间的参数关联
    VisualVM使用与调优案例
    mysql调优工具tuning-primer.sh的使用
  • 原文地址:https://www.cnblogs.com/hardsoftware/p/6113908.html
Copyright © 2011-2022 走看看