问题标签 [theano-cuda]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
10669 浏览

performance - keras预测很慢

我正在从事强化学习任务,并决定使用 keras NN 模型进行 Q 值逼近。这种方法很常见:在每个动作之后,奖励都存储在内存重放数组中,然后我从中抽取随机样本,并用新数据拟合模型state-action => reward+predicted_Q(更多细节在这里)。为了进行训练,必须为训练集中的每个项目预测 Q 值。

脚本运行非常缓慢,所以我开始调查。Profiling 显示 56,87% 的累积时间是由_predict_loop方法占用的: 在此处输入图像描述 而且看起来很奇怪,因为预测只是一种单向传播。只是一组数字的一次乘法。我使用的模型非常简单:8 个输入,隐藏层上的 5 个节点,1 个输出。

我已经安装并配置了 CUDA,运行了几个示例测试,它显示使用了 GPU,我也可以看到 GPU 的巨大负载。当我运行我的代码时 - 有一条消息:“使用 gpu 设备 0:GeForce GT 730”但我可以看到GPU 负载非常低(大约 10%)。

预测功能需要这么多时间是否正常?有没有办法使用 GPU 进行这种计算?

0 投票
1 回答
804 浏览

python - Theano for GPU 不使用 CUDA 或使用 CUDA 解决方法

我有一个 Intel 显卡(Intel(R) HD Graphics 520,也在 Windows 10 上),据我所知,除非我有 NVIDIA GPU,否则我不能使用 CUDA。目的是使用 Theano 的 GPU 功能(用于深度学习,这就是我需要 GPU 能力的原因)。

  1. 是否有一种解决方法可以让我在当前的 GPU 上使用 CUDA?

  2. 如果没有,是否有其他 API 可以与我当前的 Theano GPU 一起使用(在 Python 2.7 中)?

  3. 或者作为最后一个选择,完全使用另一种语言,例如 Java,它的 API 允许我使用 GPU?

弄清楚这一点会非常有帮助,因为即使我刚刚开始学习深度学习,我也可能会达到需要 GPU 并行处理能力来获得结果的地步,而无需至少等待几天。

0 投票
0 回答
212 浏览

python - Windows 10 上的 Theano

我在我的 GPU Windows 10 系统上正确安装并运行了 Theano(带有 Keras 和 nolearn)。

添加一些额外的安装(Kaldi/PDNN)后,我在导入 theano 时不断收到这两个警告,如下所述,我的性能严重下降。

我已经阅读了一些关于 g++ 安装的帖子,但我很确定这是一些被覆盖的配置问题。

有没有人遇到过这个问题?如果是这样,我该如何解决?

0 投票
2 回答
952 浏览

python - 导入 theano 时出现未知的 CUDA 错误

在python中,导入theano后,我得到以下信息:

我在 ubuntu 14.04 上运行它,我有一个旧的 gpu:GeForce GTX280

还有我的英伟达驱动:

我不确定为什么它说它“不支持”,但似乎这可能不是这里所说的问题

此外,CUDA 版本:

我能得到的任何帮助都会很棒。我整天都在这...

0 投票
0 回答
1370 浏览

python - 使用 GPU 为 Keras 设置 Theano 标志

我正在尝试使用 Theano 后端在 Keras 中训练模型并使用我的 GPU。如果我使用 100 张图像或 20K 运行,我会从 Theano 收到一个错误(如下所示),说我没有足够的内存,但我的 GPU 上有 6GB。我使用了 Keras文档 THEANO_FLAGS=device=gpu,floatX=float32 python my_keras_script.py”中的THEANO_FLAG \n[lib]\ncnmem=0\n" >> ~/.theanorc ) 来设置 cnmem 变量,所以如果你使用 Keras 的标志,它将使用你设置的 cnmem 堆栈溢出之一。

我已将 cnmem 设置为 0.83(它不会立即出错的最高值)和 0 并且没有它需要的 822 MB,但我有 6GB 的视频内存。我确定我做错了一些简单的事情,但我找不到任何信息。

我在 Ubuntu 14.04 上并且安装了 CUDA。我刚刚使用“THEANO_FLAGS=device=gpu,floatX=float32 python mnist_transfer_cnn.py”做了Keras MNIST示例

0 投票
1 回答
155 浏览

theano - 如何使用theano进行机器学习在一个进程中处理多任务?

我有一个 CNN 模型。使用此模型的请求,例如对图片进行分类,每秒出现 1 次。

我想将请求收集为新的无监督数据,并继续训练我的模型。

我的问题是:如何有效地处理训练任务和分类任务?

我将解释为什么它会成为一个问题:

每个训练步骤都需要很长时间,至少几秒钟,使用 GPU 并且不可中断。因此,如果我的分类任务也使用 GPU,我无法及时响应请求。我想使用 CPU 对任务进行分类,但看起来 theano 在一个进程中不支持两个不同的 config.device。

多进程是不可接受的,因为我的内存有限,而且theano成本太高。

任何帮助或建议将不胜感激。

0 投票
1 回答
2402 浏览

python-2.7 - 导入 theano 时“编译 cuda_ndarray.cu 失败”,“cuda_runtime.h:没有这样的文件或目录”

我正在使用安装了 theano 0.8.2 的 ubuntu 14.04。当我在我的 gpu_tesy.py 中运行 import theano 时,出现了大约 5300 行代码,并且:

第5367章

5368

================================

在从:0:0 包含的文件中:/usr/include/stdc-predef.h:59:1:致命错误:cuda_runtime.h:没有这样的文件或目录

#万一

^ 编译终止。

['nvcc', '-shared', '-O3', '-m64', '-Xcompiler', '-DCUDA_NDARRAY_CUH=c72d035fdf91890f3b36710688069b2e,-DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION,-fPIC,-fvisibility=hidden',' '-rpath,/home/theory/.theano/compiledir_Linux-3.13--generic-x86_64-with-Ubuntu-14.04-trusty-x86_64-2.7.6-64/cuda_ndarray', '-I/home/theory/test_theono/ local/lib/python2.7/site-packages/theano/sandbox/cuda','-I/home/theory/test_theono/local/lib/python2.7/site-packages/numpy/core/include','-我/usr/include/python2.7','-I/home/theory/test_theono/local/lib/python2.7/site-packages/theano/gof','-o','/home/theory/。 theano/compiledir_Linux-3.13--generic-x86_64-with-Ubuntu-14.04-trusty-x86_64-2.7.6-64/cuda_ndarray/cuda_ndarray.so', 'mod.cu', '-L/usr/lib', '-lcublas', '-lpython2.7', '-lcudart'] 错误 (theano.sandbox.cuda): 无法编译 cuda_ndarray.cu: ('nvcc return status', 1, 'for cmd', 'nvcc -shared -O3 -m64 -Xcompiler -DCUDA_NDARRAY_CUH=c72d035fdf91890f3b36710688069b2e,-DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION,-fPIC,-fvisibility=hidden -Xlinker -rpath,/home/theory-rpath,/home/theory_13-theano/编译目录generic-x86_64-with-Ubuntu-14.04-trusty-x86_64-2.7.6-64/cuda_ndarray -I/home/theory/test_theono/local/lib/python2.7/site-packages/theano/sandbox/cuda -I/ home/theory/test_theono/local/lib/python2.7/site-packages/numpy/core/include -I/usr/include/python2.7 -I/home/theory/test_theono/local/lib/python2.7/站点包/theano/gof -o /home/theory/.theano/compiledir_Linux-3.13--generic-x86_64-with-Ubuntu-14.04-trusty-x86_64-2.7。6-64/cuda_ndarray/cuda_ndarray.so mod.cu -L/usr/lib -lcublas -lpython2.7 -lcudart')


其中nvcc:/usr/local/cuda-7.0/bin/nvcc

CUDA_HOME=/usr/local/cuda-7.0

LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/lib/lib:/opt/intel/mkl/lib/intel64::/usr/local/cuda-7.0/lib64

DYLD_LIBRARY_PATH=:/usr/local/cuda-7.0/lib


多个版本的 cuDNN 和 CUDA 安装在同一台机器上。我不确定我应该如何让他们走上正确的道路。感谢任何帮助!

0 投票
0 回答
630 浏览

theano - theano.test() 因 nvcc 错误而失败 - nvcc 致命:不知道如何处理 'NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION,-fPIC'

我正在将 Theano 安装到 Ananconda 环境中,并且似乎遇到了我不明白的安装问题。创建环境后,我运行 theano.test() 并收到以下错误:

如果我从命令行运行引用的 nvcc 命令,我会得到:

CUDA 安装似乎正在运行。我可以编译并运行所有 CUDA 示例,运行 deviceQuery 并成功进行带宽测试。我在 Anaconda 环境内部或外部以及使用 python 2.7 或 3.5 时遇到相同的错误。Theano.test(0) 似乎运行良好,除了 nvcc 错误。(仍在运行)该错误仅由 theano.test() 触发,但如果我还导入 Keras 并从 keras.models 运行它也会触发导入顺序'

我注意到有很多未回答的 Theano 安装问题,但希望这个问题不是我独有的。我没有太多运气在谷歌上搜索解决方案。

Ubuntu 16.04、Anaconda Python 3.5.2(或 2.7)、CUDA 7.5.17、

0 投票
0 回答
564 浏览

python - GPU在theano后端使用keras运行缓慢

我正在关注自动编码器示例@ https://blog.keras.io/building-autoencoders-in-keras.html但使用我自己的数据。我的 GPU 利用率非常低,几乎没有 GPU 内存利用率。

我想知道它是否只是无法将批次安装到 GPU 上。我的输入数据是 5k 维,我将其编码为 250 维的隐藏表示。当我将自动编码器上的批量大小更改为 1 时,我会得到更高的 GPU 使用率,但它显然很慢(大量数据混洗)。但是当我走得更高时,我几乎没有使用 GPU,而且它仍然很慢(并且比 CPU 加速慢;我在 GPU 上看到的最低是 3.5k 秒,而在 CPU 上是 1.8k 秒)。我的 GPU 是 GTX 970,一切似乎都可以正常工作。

我的代码是否有问题导致它运行缓慢,或者可能是一些奇怪的配置问题(我的 .theanorc,值得一提的是,它是为 GPU 配置的,并且使用 GPU 的 theano 报告),或者它是我的数据的函数?

0 投票
3 回答
14664 浏览

python - 警告(theano.sandbox.cuda):CUDA 已安装,但设备 gpu 不可用(错误:cuda 不可用)

在 Ubuntu MATE 16.04 中,我正在尝试使用 GPU 在此处运行深度学习 python 示例:

使用 GPU 测试 Theano

我确实运行了示例代码,

但似乎它使用的是CPU而不是GPU。这是终端输出的最后一部分:

我也尝试运行此代码:

但输出是:

我从 apt 安装了 cuda 工具包。这里有(希望)有用的数据: