3

我正在尝试将 Theano 与 gpu 一起使用。我的操作系统是 Ubuntu 16.04

首先,打字import theano会导致

Using cuDNN version 5110 on context None
Mapped name None to device cuda0: GeForce GTX 1080 (0000:01:00.0)

要查看我的 GPU 是否正在使用,我尝试从 theano 文档中进行测试

我的 ~/.theanorc 是

[global]
device = cuda0
floatX = float32

[nvcc]
fastmath = True

在这种情况下,测试说:

[GpuElemwise{exp,no_inplace}(<GpuArrayType<None>(float32, (False,))>), 
HostFromGpu(gpuarray)(GpuElemwise{exp,no_inplace}.0)]
Looping 1000 times took 0.191431 seconds
Result is [ 1.23178029  1.61879349  1.52278066 ...,  2.20771813  2.29967761 1.62323296]
Used the cpu

但是使用旧后端device = gpu0说:

[GpuElemwise{exp,no_inplace}(<CudaNdarrayType(float32, vector)>), HostFromGpu(GpuElemwise{exp,no_inplace}.0)]
Looping 1000 times took 0.199280 seconds
Result is [ 1.23178029  1.61879349  1.52278066 ...,  2.20771813  2.29967761 1.62323296]
Used the gpu

所以我认为cuda出了点问题。我如何检查它是否正常?为什么“上下文”是“无”?为什么测试说“使用cpu”?

4

1 回答 1

6

尝试用 cuda 替换 cuda0。

导入 theano 后,我遇到了类似警告的文本​​:

在上下文中使用 cuDNN 版本 5110 无 映射名称无到设备 cuda:GeForce GT 750M (0000:01:00.0)

我继续训练了一个 DNN,我可以看到速度比我之前在 CPU 上运行代码要快得多。所以,我猜文字并不意味着 GPU 不工作。

于 2017-04-07T23:52:32.900 回答