tensorflow - 你怎么知道你在 TensorFlow 2.0 中使用的是 LSTM 或 GRU 的 CuDNN 版本?
问题描述
TensorFlow 2.0 的一个很好的特性:新的 LSTM 层现在自动决定是否使用 CuDNN 实现(GRU层也是如此)。但是它们的使用不仅仅依赖于 GPU;还有其他需要设置的参数(例如,unroll=False
)。
我正在使用带有 GPU 的 tensorflow-gpu(不是一个非常强大的 GPU),而且我的 RNN 像糖蜜一样慢。我想确定我正在运行 CuDNN 实现。日志中有什么地方可以看吗?
我还使用了 tf.compat.v1.keras.layers.CuDNNLSTM,这对我来说同样慢。我可以确定这是使用 CuDNN 实现,还是在某些条件下它可能会退回到其他东西?
解决方案
如果您使用的是tf.compat.v1.keras.layers.CuDNNLSTM
,那肯定是在使用 cuDNN 实现。里面没有退路。
推荐阅读
- laravel - Guzzle 和码头工人
- php - 循环遍历php中的多维数组并执行mysql插入(股票数据)
- javascript - 在收到节点模块文件夹后安装 npm 包
- django - 如何使用 Django 的 HTML 表单来编辑用户配置文件的一部分。
- java - 为什么标准的 Java 迭代器没有 peek()?
- javascript - 如何将新创建的 PDF 发送到浏览器?
- asp.net - 无法将最简单的 ASP.NET Core Web 应用程序部署到 Azure VM
- npm - 任何与 Node JS 中的 Zurb Foundation 相关的内容都会引发相同的错误
- javascript - 从 7 升级到 Babel-loader 8?我需要改变什么?
- node.js - 如何在 NodeJS(运行 npm 脚本)中找到 spawn 的错误原因?