标签: cudnn

TensorFlow中的cudnn编译配置

Ubuntu 14.04,CUDA版本7.5.18,每晚构建的Tensorflow

tf.nn.max_pool()在tensorflow中运行操作时,出现以下错误:

[tensorflow / stream_executor / cuda / cuda_dnn.cc:286]已加载的cudnn库:5005,但是源代码是针对4007编译的。如果使用二进制安装,请升级您的cudnn库以使其匹配。如果从源构建,请确保加载的库与您在编译配置期间指定的版本匹配。

W tensorflow / stream_executor / stream.cc:577]尝试使用不具有DNN支持的StreamExecutor执行DNN操作

追溯(最近一次通话):

...

如何在tensorflow的编译配置中指定我的cudnn版本?

tensorflow cudnn

5
推荐指数
1
解决办法
7756
查看次数

不能在上下文中使用 cuDNN 无,致命错误:cudnn.h:没有这样的文件或目录

我正在尝试配置theanogpu在我的 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.0GPU Computing Toolkit\CUDA 以查看 cudnn.h 是否存在,并且我在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include

windows theano cudnn theano-cuda

5
推荐指数
1
解决办法
2786
查看次数

有没有办法在dnn的gpu上融合全连接层(gemm)和激活层(relu/sigmoid)?

通常 dnn 中的一层由 MatMul、BiasAdd、Relu 组成,cuBlas 为 MatMul 提供 Gemm,我们可以在另一个内核中为 GPU 做 BiasAdd 和 Relu。它们是两个 GPU lanuch 调用,有没有办法将它们融合在一起并使它们只是一个?我查看了cuBlas, cudnn,但没有找到任何东西。我认为这并不难,因为 BiasAdd 和 Relu 只是元素操作,而融合使它更有效率。

这是背景:

我正在开发一个多 dnn 模型集成的在线预测服务。通过分析我的程序,我发现我的 CPU 和 GPU 都没有得到充分利用,而是在与 GPU 相关的函数调用(如 lanuchKernel)上请求块。似乎libcuda 有一个大锁。我正在使用 tensorflow,启用 XLA,所以我使用 nvprof 和 tensorflow HLO 来可视化 GPU 调用,并且只有融合(即biasadd 和 relu)操作。虽然做了kernel fusion,但是lanuchKernel调用还是太多,GPU利用率只有60%。我在一个过程中尝试了多个 cuda 上下文,改进是微不足道的。

顺便说一下,我使用的是一个 GPU,Tesla P100。

gpu tensorflow cudnn tensorflow-xla

5
推荐指数
0
解决办法
799
查看次数

TensorFlow:对cuInit的调用失败:CUDA_ERROR_NO_DEVICE

我的测试:

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()`
Run Code Online (Sandbox Code Playgroud)

错误:

C:\升\工作\ tensorflow-1.1.0\tensorflow\stream_executor\CUDA\cuda_driver.cc:405]

调用cuInit失败:CUDA_ERROR_NO_DEVICE

- >但"/ cpu:0"工作正常

配置:

nvidia-smi: 在此输入图像描述

  • CUDA版本9.1
  • tensorflow-1.1.0
  • Windows 10
  • cudnn64_7.dll(安装在C:\ Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin)
  • 我的Conda环境中只安装了tensorflow-gpu

为什么Tensorflow无法检测到我的GPU?

windows tensorflow cudnn

5
推荐指数
2
解决办法
9641
查看次数

尝试运行TensorFlow时CUDNN_STATUS_NOT_INITIALIZED

我已经在Ubuntu 16.04上使用Cuda 9.0和CuDNN 7.0.5以及vanilla Python 2.7安装了TensorFlow 1.7,虽然他们的CUDA和CuDNN样本运行良好,而TensorFlow看到了GPU(因此运行了一些TensorFlow示例),那些使用CuDNN (像大多数CNN的例子一样)没有.他们失败了这些信息性消息:

2018-04-10 16:14:17.013026: I tensorflow/stream_executor/plugin_registry.cc:243] Selecting default DNN plugin, cuDNN
25428 2018-04-10 16:14:17.013100: E tensorflow/stream_executor/cuda/cuda_dnn.cc:403] could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
25429 2018-04-10 16:14:17.013119: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:369] driver version file contents: """NVRM version: NVIDIA UNIX x86_64 Kernel Module  384.130  Wed Mar 21 03:37:26 PDT 2018
25430 GCC version:  gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9)
25431 """
25432 2018-04-10 16:14:17.013131: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:112] version string "384.130" made value 384.130.0
25433 2018-04-10 16:14:17.013135: E tensorflow/stream_executor/cuda/cuda_dnn.cc:411] possibly insufficient …
Run Code Online (Sandbox Code Playgroud)

python gpu tensorflow cudnn

5
推荐指数
1
解决办法
5460
查看次数

Pytorch 卷积网络内存使用明细

我正在尝试为一个非常大的输入 (5*100,000,000) 训练一个神经网络,它需要比预期更多的内存。这是一些最小的例子:

import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
import time

class Net(nn.Module):

    def __init__(self):
        super(Net, self).__init__()
        self.conv1 = nn.Conv1d(in_channels=5, out_channels=1, kernel_size=100000000, stride=10)

    def forward(self, x):
        x = self.conv1(x)
        x = torch.sigmoid(x)
        return x

model = Net().cuda()

optimizer = optim.Adam(model.parameters(), lr=0.001)
criterion = torch.nn.BCELoss()

data = torch.normal(torch.zeros(1,5,100000000),torch.ones(1,5,100000000))
data = data.cuda()
label = torch.ones(1,1,1)
label = label.cuda()

for epoch in range(10):
    output = model(data)
    loss = criterion(output, label)
   
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()
    
    print("Epoch :", …
Run Code Online (Sandbox Code Playgroud)

gpu neural-network conv-neural-network cudnn

5
推荐指数
1
解决办法
3094
查看次数

使用tf.data实现张量流输入管道时发生错误

我在使用新的tf.data tensorflow类实现输入管道时遇到问题。

具体来说,当我在预处理中包含卷积运算时(使用该map方法将其添加到管道中时),出现以下错误

tensorflow.python.framework.errors_impl.UnimplementedError: Generic conv implementation only supports NHWC tensor format for now.
 [[{{node conv_debug}} = Conv2D[T=DT_FLOAT, data_format="NCHW", dilations=[1, 1, 1, 1], padding="SAME", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true](conv_debug-0-TransposeNHWCToNCHW-LayoutOptimizer, ArithmeticOptimizer/FoldMultiplyIntoConv_scaled_conv_debug_Const)]]
Run Code Online (Sandbox Code Playgroud)

当我从管道中排除卷积时,一切都会按预期进行。

我在下面附上了重现该问题所需的最少代码。

经过3种配置测试:

  • Tensorflow 1.12.0,CUDA 10.0,CUDnn 7.4.1出现错误。
  • Tensorflow 1.11.0,CUDA 9.0,CUDnn 7.3.1收到了错误。
  • Tensorflow 1.8.0,CUDA 8.0,CUDnn 6.0,它可以工作

我做错了还是是CUDA / CUDnn相关问题?

谢谢!

import numpy as np
import tensorflow as tf

image_height, image_width = 100, 200

def _bytes_feature(value):
    return tf.train.Feature(bytes_list=tf.train.BytesList(value=[value]))


def serialize_to_record(record_name, label, image):
        """Create a data record and store …
Run Code Online (Sandbox Code Playgroud)

python tensorflow cudnn

5
推荐指数
1
解决办法
430
查看次数

Tensorflow仅显示“在本地成功打开了CUDA库libcublas.so.10.0”,而关于cudnn则没有任何显示

我的张量流只打印出这一行:

I tensorflow/stream_executor/dso_loader.cc:152] successfully opened CUDA library libcublas.so.10.0 locally 运行时。

网上的Tensorflow日志有很多其他库正在加载,例如libcudnn。

因为我认为我的安装性能不是最佳,所以我试图找出是否是因为这个原因。任何帮助将不胜感激!

我的tf是1.13.1 NVIDIA驱动程序版本:418.67 CUDA版本:10.1(我还安装了10.0。这可能是问题吗?)

python tensorflow cudnn

5
推荐指数
1
解决办法
310
查看次数

tensorflow-gpu无法使用Blas GEMM启动失败

我安装了tensorflow-gpu来在我的GPU上运行我的tensorflow代码.但我不能让它运行.它继续给出上述错误.以下是我的示例代码,后跟错误堆栈跟踪:

import tensorflow as tf
import numpy as np

def check(W,X):
    return tf.matmul(W,X)


def main():
    W = tf.Variable(tf.truncated_normal([2,3], stddev=0.01))
    X = tf.placeholder(tf.float32, [3,2])
    check_handle = check(W,X)
    with tf.Session() as sess:
        tf.initialize_all_variables().run()
        num = sess.run(check_handle, feed_dict = 
            {X:np.reshape(np.arange(6), (3,2))})
        print(num)
if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

我的GPU是相当不错的GeForce GTX 1080 Ti,拥有11 GB的vram,并且没有其他任何重要的运行(只是chrome),你可以在nvidia-smi中看到:

Fri Aug  4 16:34:49 2017       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 381.22                 Driver Version: 381.22                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage …
Run Code Online (Sandbox Code Playgroud)

nvidia tensorflow cudnn tensorflow-gpu

4
推荐指数
2
解决办法
6549
查看次数

cuDNN 错误:CUDNN_STATUS_BAD_PARAM。有人可以解释为什么我收到此错误以及如何纠正它?

我正在尝试使用 Pytorch 实现字符 LSTM。但是我收到了 cudnn_status_bad_params 错误。这是训练循环。我在 line output = model(input_seq) 上遇到错误。

for epoch in tqdm(range(epochs)):
  for i in range(len(seq)//batch_size):
   sidx = i*batch_size
   eidx = sidx + batch_size
   x = seq[sidx:eidx]
   x = torch.tensor(x).cuda()
   input_seq =torch.nn.utils.rnn.pack_padded_sequence(x,seq_lengths,batch_first = True)
   y = out_seq[sidx:eidx]
   output = model(input_seq)
   loss = criterion(output,y)
   loss.backward()
   optimizer.step()
/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py in __call__(self, *input, **kwargs)
    487             result = self._slow_forward(*input, **kwargs)
    488         else:
--> 489             result = self.forward(*input, **kwargs)
    490         for hook in self._forward_hooks.values():
    491             hook_result = hook(self, input, result)   
/usr/local/lib/python3.6/dist-packages/torch/nn/modules/rnn.py in forward(self, …
Run Code Online (Sandbox Code Playgroud)

cudnn pytorch

4
推荐指数
1
解决办法
1万
查看次数