【问题标题】:Getting Theano to use the GPU让 Theano 使用 GPU
【发布时间】:2013-08-12 11:22:56
【问题描述】:

我在设置 Theano 以使用我的显卡时遇到了很多麻烦 - 我希望你们能帮帮我。

我以前使用过 CUDA,它已正确安装,这是运行 Nvidia Nsight 所必需的。但是,我现在想将它与 PyDev 一起使用,并且在 http://deeplearning.net/software/theano/install.html#gpu-linux 上的教程的“使用 GPU”部分之后遇到了几个问题@

第一个很基础,就是如何设置环境变量。它说我应该'定义一个 $CUDA_ROOT 环境变量'。有几个消息来源说要在我的主目录中创建一个新的“.pam_environment”文件。我已经这样做并写了以下内容:

CUDA_ROOT = /usr/local/cuda-5.5/bin
LD_LIBRARY_PATH = /usr/local/cuda-5.5/lib64/lib

我不确定这是否正是它必须编写的方式 - 如果这是一个基本问题,我们深表歉意。如果我能确认这确实是编写它的正确位置,那将很有帮助。

第二个问题在教程的以下部分。它说“更改设备选项以命名您计算机中的 GPU 设备”。显然,这与 THEANO_FLAGS 和 .theanorc 有关,但我无法找到它们是什么:它们是文件吗?如果是这样,我在哪里可以找到它们?该教程似乎假设了一些我没有的知识!

感谢您花时间阅读本文:非常感谢任何和所有答案 - 我现在完全陷入困境!

【问题讨论】:

    标签: eclipse gpu pydev theano


    【解决方案1】:

    THEANO_FLAGS 是环境变量,.theanorc 是配置文件。您可以使用这两种机制来配置 Theano。这被描述为here

    我从未听说过 .pam_environment 文件。此外,您不应该只覆盖 LD_LIBRARY_PATH 的值,而是像这样附加/前置它:

    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-5.5/lib64/lib
    

    对于Theano,如果你定义了CUDA_ROOT,你不需要修改LD_LIBRARY_PATH,所以我只删除最后一行。

    通常,如果你的 shell 是 bash,人们会像这样在 .bashrc 文件中定义环境变量 CUDA_ROOT

    export CUDA_ROOT=/usr/local/cuda-5.5/bin
    

    只有在您注销并重新登录时才会使用对 .bashrc 的更改。

    【讨论】:

    • 您无需注销即可进行更改。只需运行 source ~/.bashrc
    【解决方案2】:

    在 Linux/OSX 上:

    编辑或创建文件~/.theanorc。该文件应包含:

    [global]
    floatX = float32
    device = gpu0
    
    [nvcc]
    fastmath = True
    
    [cuda]
    root=/usr/local/cuda-5.5/  
    # On a mac, this will probably be /Developer/NVIDIA/CUDA-5.5/
    

    您需要将 cuda 添加到 $LD_LIBRARY_PATH 变量。如果您正在运行 eclipse,您可以转到 Project properties > Interpreters > Configure and interpreter ... > Environment,然后添加一个指向您的 cuda lib 文件夹的 LD_LIBRARY_PATH 变量(可能是 /Developer/NVIDIA/CUDA-5.5/lib64 )

    现在,当您导入 theano 时,它应该会打印一条有关找到 gpu 的消息。您可以在http://deeplearning.net/software/theano/tutorial/using_gpu.html 运行测试代码,看看它是否正在使用 gpu。

    【讨论】:

      猜你喜欢
      • 2015-09-12
      • 2018-11-11
      • 2016-06-23
      • 2016-07-28
      • 1970-01-01
      • 2017-05-13
      • 2018-05-08
      • 2017-02-06
      • 1970-01-01
      相关资源
      最近更新 更多