建立:
一切正常,但是当我增加批量大小以加快训练时,我在大型模型上耗尽了视频内存.我认为转向4 GPU系统理论上可以提高可用的总内存或允许更小的批量构建更快,但是观察nvidia统计数据,我可以看到默认情况下只使用一个GPU:
+------------------------------------------------------+
| NVIDIA-SMI 361.42 Driver Version: 361.42 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GRID K520 Off | 0000:00:03.0 Off | N/A |
| N/A 44C P0 45W / 125W | 3954MiB / 4095MiB | 94% Default |
+-------------------------------+----------------------+----------------------+
| 1 …
Run Code Online (Sandbox Code Playgroud) 当训练两个不同神经网络中的一个时,一个用Tensorflow,另一个用Theano,有时候经过一段随机的时间(可能是几个小时或几分钟,大多数几个小时),执行冻结,我得到这个消息运行"nvidia-smi":
"无法确定GPU 0000:02:00.0的设备句柄:GPU丢失.重新启动系统以恢复此GPU"
我正在与:
我不确定如何处理这个问题,有人可以提出一些可能导致这种情况以及如何诊断/解决此问题的建议吗?
在Ubuntu MATE 16.04我试图使用GPU在这里运行深度学习的python示例:
我确实运行了示例代码,
THEANO_FLAGS=mode=FAST_RUN,device=gpu,floatX=float32 python check1.py
Run Code Online (Sandbox Code Playgroud)
但它似乎是使用CPU而不是GPU.这是终端输出的最后一部分:
WARNING (theano.sandbox.cuda): CUDA is installed, but device gpu0 is not available (error: cuda unavailable)
...
Used the cpu
Run Code Online (Sandbox Code Playgroud)
我也尝试运行此代码:
THEANO_FLAGS=device=cuda0 python check1.py
Run Code Online (Sandbox Code Playgroud)
但输出是:
ERROR (theano.sandbox.gpuarray): pygpu was configured but could not be imported
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/theano/sandbox/gpuarray/__init__.py", line 20, in <module>
import pygpu
ImportError: No module named pygpu
...
used cpu
Run Code Online (Sandbox Code Playgroud)
我从apt安装了cuda工具包.这里有(希望)有用的数据:
python --version
Python 2.7.12
g++ -v
gcc version 5.4.0
nvcc --version
Cuda compilation tools, release 7.5, …
Run Code Online (Sandbox Code Playgroud) 我正在进行强化学习任务,并决定使用keras NN模型进行Q值近似.这种方法很常见:在每次操作之后,奖励存储在内存重放数组中,然后我从中获取随机样本并使用新数据拟合模型state-action => reward+predicted_Q
(此处有更多详细信息).为了进行训练,必须为训练集中的每个项目预测Q值.
脚本运行速度非常慢,所以我开始调查.分析表明_predict_loop方法占用了56,87%的累积时间:
它看起来很奇怪,因为预测只是一种单向传播.只是一组数字的一次性乘法.我使用的模型非常简单:8个输入,隐藏层上5个节点,1个输出.
我已经安装并配置了CUDA,运行了一些示例测试,它显示了GPU的使用,我也可以看到巨大的GPU负载.当我运行我的代码时 - 有一条消息:"使用gpu device 0:GeForce GT 730",但我可以看到GPU负载非常低(大约10%).
预测功能花费这么多时间是正常的吗?有没有办法使用GPU进行此计算?
我试图让Theano在我的Linux机器上使用gpu.它适用于命令行,但不适用于Pycharm.两者都在我的机器的同一文件夹中使用Python 3.5.
我正在测试这个脚本:
from theano import function, config, shared, tensor
import numpy
import time
vlen = 10 * 30 * 768 # 10 x #cores x # threads per core
iters = 1000
rng = numpy.random.RandomState(22)
x = shared(numpy.asarray(rng.rand(vlen), config.floatX))
f = function([], tensor.exp(x))
print(f.maker.fgraph.toposort())
t0 = time.time()
for i in range(iters):
r = f()
t1 = time.time()
print("Looping %d times took %f seconds" % (iters, t1 - t0))
print("Result is %s" % (r,))
if numpy.any([isinstance(x.op, tensor.Elemwise) and
('Gpu' not …
Run Code Online (Sandbox Code Playgroud) 安装Theano anaconda时会自动尝试安装pygpu,尽管这是一个可选的依赖项.我已从Windows用户目录中删除了.theanorc文件.
此外,在运行我的应用程序时,Theano尝试从GPU加载.它就像是以某种方式记得的?
conda install theano
Fetching package metadata .............
Solving package specifications: .
Package plan for installation in environment
C:\Users\zebco\Miniconda3\envs\py35:
The following NEW packages will be INSTALLED:
libgpuarray: 0.6.9-vc14_0
pygpu: 0.6.9-py36_0
theano: 0.9.0-py36_0
Proceed ([y]/n)?
Run Code Online (Sandbox Code Playgroud)
如你所见,我只指定安装theano但conda想要安装所有内容,包括可选的依赖项.
我正在尝试配置theano
以gpu
在我的 Windows 机器上使用。我已经设置.theanorc
为使用,device= gpu
但是当我运行一些应该使用 gpu 的代码时,我收到以下错误:
Can not use cuDNN on context None: cannot compile with cuDNN. We got this error:
c:\users\...\appdata\local\temp\try_flags_pt24sj.c:4:19: fatal error: cudnn.h: No such file or directory
compilation terminated.
Mapped name None to device cuda0: GeForce 840M (0000:03:00.0)
Run Code Online (Sandbox Code Playgroud)
我检查了我的CUDA_PATH=C:\Program Files\NVIDIA\v8.0
GPU Computing Toolkit\CUDA 以查看 cudnn.h 是否存在,并且我在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include
我们只有一个装有CUDA驱动程序的GPU,每当一个用户运行代码时,整个内存就会分配给该用户。并且其他用户无法使用GPU。有办法摆脱这种行为吗?
我使用具有 CUDA 7.5 的服务器。但是服务器不涉及CUDNN。
是否可以安装 CUDNN,并设置所有与 CUDA 的链接,无需 root 访问,以便在 ubuntu 14.04 上使用所有应用程序?
我已经在这个页面上实现了解决方案为 Theano 安装 cuDNN without root access,但它对我不起作用。我已经通过构建 caffe 进行了验证;http://caffe.berkeleyvision.org/,我已经使用 cmake 进行了检查。我创建了一个目录 caffe/build 并从那里运行 cmake ..。如果配置正确,我会看到以下几行:
-- Found cuDNN (include: /usr/local/cuda-7.0/include, library: /usr/local/cuda-7.0/lib64/libcudnn.so)
-- NVIDIA CUDA:
-- Target GPU(s) : Auto
-- GPU arch(s) : sm_30
-- cuDNN : Yes
Run Code Online (Sandbox Code Playgroud)
但我看到
-- cuDNN : Not found
Run Code Online (Sandbox Code Playgroud)
PS我还需要运行:https : //github.com/rsennrich/nematus
在本地安装 CUDNN 并与服务器中的全局 CUDA 链接的最佳方法是什么?
我正在尝试使用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)
Run Code Online (Sandbox Code Playgroud)
要查看我的GPU是否正在使用,请尝试使用theano文档进行测试
我的〜/ .theanorc是
[global]
device = cuda0
floatX = float32
[nvcc]
fastmath = True
Run Code Online (Sandbox Code Playgroud)
在这种情况下测试说:
[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
Run Code Online (Sandbox Code Playgroud)
但使用旧的后端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 …
Run Code Online (Sandbox Code Playgroud) 我可以在本地安装cuDNN而无需root权限吗?
我没有root访问我正在使用的Linux机器(发行版是openSuse),但我已经安装了CUDA 7.5.
我正在使用Theano,我需要cuDNN来提高GPU上的操作速度.
我cudnn-7.5-linux-x64-v5.1
从Nvidia 下载并按照说明我需要将CuDNN存档内容复制到CUDA安装文件夹,即(cuda/lib64 /和cuda/include /).但这需要我具有root访问权限.
我是否有可能在本地提取cudnn存档并为theano提供cudnn库的路径?
theano-cuda ×11
theano ×8
cudnn ×4
gpu ×4
keras ×3
python ×3
anaconda ×1
linux ×1
nvidia ×1
performance ×1
pycharm ×1
python-3.x ×1
tensorflow ×1
ubuntu ×1
windows ×1