7

我在设置 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 有关,但我无法找到它们是什么:它们是文件吗?如果是这样,我在哪里可以找到它们?该教程似乎假设了一些我没有的知识!

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

4

2 回答 2

11

在 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。

于 2014-01-16T19:11:04.887 回答
1

THEANO_FLAGS是一个环境变量,.theanorc 是一个配置文件。您可以使用这两种机制来配置 Theano。这在此处进行了描述。

我从未听说过 .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,人们会CUDA_ROOT在 .bashrc 文件中定义 env 变量,如下所示:

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

仅当您注销并再次登录时,才会使用对 .bashrc 的更改。

于 2013-08-12T14:32:25.263 回答