Tensorflow+keras解决 Fail to find the dnn implementation.

Posted Better Bench

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tensorflow+keras解决 Fail to find the dnn implementation.相关的知识,希望对你有一定的参考价值。

1 引言

(1)环境

Tensorflow 2.0
Python 3.6

(2)问题

from tensorflow.keras import *
from tensorflow.keras.layers import Bidirectional,LSTM

在使用Bidirectional(LSTM )时,报错 [Derived] Fail to find the dnn implementation.

2 解决

因为在Tensorflow2.0中使用keras的API时,该版本的keras已经不支持直接使用Bidirectional(LSTM ),三种解决办法。
(1)第一种方法
继续使用在Tensorflow2.0的keras API,用兼容的替代的写法

from tensorflow.keras import *
from tensorflow.keras.layers import Bidirectional

Bidirectional(tf.keras.layers.RNN(tf.keras.layers.LSTMCell(n_BiLSTM_1),return_sequences=True))

(2)第二种方法
使用支持该方法的原装Keras:2.1.6

# 安装
pip install keras ==2.1.6
# 使用
from keras.layers import Bidirectional,LSTM

(3)第三种方法
继续使用在Tensorflow2.0的keras API,但加入表示兼容的代码

from tensorflow.keras.layers import Bidirectional,LSTM
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession

config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)

以上是关于Tensorflow+keras解决 Fail to find the dnn implementation.的主要内容,如果未能解决你的问题,请参考以下文章

tensorflow.python.framework.errors_impl.UnknownError: Fail to find the dnn implementation. [Op:Cudnn

tensorflow.python.framework.errors_impl.UnknownError: Fail to find the dnn implementation. [Op:Cudnn

如何解决 tensorflow.keras 中的值错误?

Tensorflow.keras:RNN 对 Mnist 进行分类

在 keras(tensorflow 后端)中计算梯度时出错

tensorflow 和 torch.cuda 可以找到 GPU,但 Keras 不能