【问题标题】:What is cuDNN implementation of rnn cells in Tensorflow什么是 Tensorflow 中 rnn 单元的 cuDNN 实现
【发布时间】:2018-11-13 17:19:09
【问题描述】:

要创建RNN 单元格,可以使用GRUCellLSTMCell 等类,稍后可以使用它们创建RNN 层。
还有另外两个类CudnnGRUCudnnLSTM可以直接用来创建RNN层。

在文档中他们说后面的类有cuDNN 实现。当我创建RNN 模型时,为什么我应该使用或不使用这个cuDNN 实现的类而不是经典的RNN 实现......?

【问题讨论】:

    标签: python-3.x tensorflow cudnn


    【解决方案1】:

    简而言之:cudnnGRU 和 cudnnLSTM 可以/必须在 GPU 上使用,普通的 rnn 实现不能。所以如果你有 tensorflow-gpu,RNN 单元的 cudnn 实现会运行得更快。

    【讨论】:

      【解决方案2】:

      CuDNNLSTMCuDNNGRU 是由CuDNN 支持的快速实现。两者都只能在带有 TensorFlow 后端的 GPU 上运行。 cuDNN 是一个 GPU 加速的深度神经网络原语库。

      cuDNN 为标准例程(例如前向和后向卷积、池化、归一化和激活层)提供高度优化的实现。 cuDNN 是 NVIDIA 深度学习 SDK 的一部分。

      cuDNN 的亮点包括:

      1. 在 Tesla V100 上对 ResNet-50 和 GNMT 的训练速度比在 Tesla V100 上快 3 倍 特斯拉 P100
      2. 改进了 NHWC 对池化和跨步卷积的支持
      3. 提高 ResNet50 和 SSD 等常见工作负载的性能,因为 batchnorm 现在支持 NHWC 数据布局并增加了一个选项 将 batchnorm 与 A​​dd 和 ReLu 操作融合

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-17
        • 1970-01-01
        • 1970-01-01
        • 2016-12-05
        相关资源
        最近更新 更多