美文网首页
安装conda,theano

安装conda,theano

作者: 糖爰 | 来源:发表于2019-02-16 20:11 被阅读0次

    Linux下安装miniconda

    1. 在官网下载miniconda3
    2. 执行:bash Miniconda3-latest-Linux-x86_64.sh  之后跟随提示步骤,安装过程中可以自动添加路径到配置文件,也可以之后进行配置。在这期间输入 yes  no   (在这里我是之后配置的所以执行3)
    3. 将其添加到大环境变量中去
      -vim ~/.bashrc
      -export PATH=~/anaconda3/bin:$PATH
      -source ~/.bashrc

    创建虚拟环境并安装theano (主要参考官网教程http://deeplearning.net/software/theano/install_ubuntu.html)

    1. 基于python2.7创建一个名为theano的环境: conda create --name theano python=2.7
    2. 进入虚拟环境: source activate theano
    3. -使用conda安装:conda install numpy scipy mkl
                      pip install parameterized
                      conda install theano pygpu
      
      -使用pip安装:pip install Theano
    4. Install and configure the GPU drivers (这一步我没有尝试,因为本来就安装好了)
    5. 配置theanoGPU环境
      vim ~/.theanorc
      在空白文件中添加
      [global]
      floatX = float32
      device = gpu3
      [lib]
      cnmem = 0.6 意味着有百分之60的显存分给当前终端
    6. 也可以不用5,直接在运行的时候使用命令:THEANO_FLAGS='device=cuda,floatX=float32'
      (默认为cuda0)
    7. 测试
      test.py 文件:
    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')
    

    执行:THEANO_FLAGS='device=cuda,floatX=float32' python test.py
    结果:
    ···
    Using cuDNN version 5105 on context None
    Mapped name None to device cuda0: GeForce GTX 750 Ti (0000:07:00.0)
    [GpuElemwise{exp,no_inplace}(<GpuArrayType<None>(float64, (False,))>), HostFromGpu(gpuarray)(GpuElemwise{exp,no_inplace}.0)]
    Looping 1000 times took 1.697514 seconds
    Result is [ 1.23178032 1.61879341 1.52278065 ..., 2.20771815 2.29967753
    1.62323285]
    Used the gpu
    ···
    说明GPU配置使用成功

    安装过程中出现的一些乱七八糟的问题

    1. ValueError: You are tring to use the old GPU back-end. It was removed from Theano . Use device=cuda* now. See https://github.com/Theano/Theano/wiki/Converting-to-the-new-gpu-back-end%28gpuarray%29 for more information.
      解决方法:
      1: vim ~/.bashrc
      2:添加如下命令:
      export THEANO_FLAGS='mode=FAST_RUN,device=cpu,floatX=float32'
      3:使修改的theano设置生效:
      source ~/.bashrc
    2. ModuleNotFoundError: No module named'nose'
      解决办法:pip install nosey
    3. /home/lyzhang/.miniconda3/envs/lyzhang2/lib/python2.7/site-packages/theano/scan_module/scan_perform_ext.py:76: UserWarning: The file scan_perform.c is not available. This donot happen normally. You are probably in a strangesetup. This mean Theano can not use the cython code for scan. If youwant to remove this warning, use the Theano flag'cxx=' (set to an empty string) to disable all ccode generation.
      "The file scan_perform.c is not available. This do"
      解决方法: 卸载原来安装的theano:pip uninstall theano
      重新用pip安装:pip install theano

    菜鸟一枚,有写的不对的地方欢迎留言指正呀~~

    相关文章

      网友评论

          本文标题:安装conda,theano

          本文链接:https://www.haomeiwen.com/subject/rcdleqtx.html