设置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有关,但我无法找到它们是什么:它们是文件吗?如果是这样我在哪里可以找到它们?该教程似乎假设了一些我没有的知识!
感谢您花时间阅读本文:非常感谢所有答案 - 我现在非常完全陷入困境!
答案 0 :(得分: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,则可以转到项目属性>口译员>配置和解释...>环境,然后添加一个指向你的cuda lib文件夹的LD_LIBRARY_PATH变量(可能是/Developer/NVIDIA/CUDA-5.5/lib64)
现在当你导入theano时,它应该打印一条关于找到gpu的消息。您可以在http://deeplearning.net/software/theano/tutorial/using_gpu.html运行测试代码,看看它是否正在使用gpu。
答案 1 :(得分: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文件中定义env变量CUDA_ROOT
,如下所示:
export CUDA_ROOT=/usr/local/cuda-5.5/bin
只有在您注销并重新登录时才会使用.bashrc的更改。