解决报错 模块‘tensorflow.python.keras.api._v2.keras.layers‘没有属性‘CuDNNLSTM‘

当我写tf.keras.layers.LSTM ,我收到了警告

Note that this layer is not optimized for performance. Please use tf.keras.layers.CuDNNLSTM for better performance on GPU.

但是当我将图层更改为tf.keras.layers.CuDNNLSTM ,我收到错误

AttributeError: module ‘tensorflow.python.keras.api._v2.keras.layers’ has no attribute ‘CuDNNLSTM’

貌似这个问题是因为tensorflow版本升级,内部api进行了改动造成的,一般来说,在tensorflow2.0以上的版本中应该使用
tf.keras.layers.LSTM

但是,博主由于是要运行别人的代码,加载别人已经有的模型,所以不能轻易修改人家制定下的变量类型,所以如果由于某种原因你特别需要tf.keras.layers.CuDNNLSTM的原始实现,那么你可以使用tf.compat.v1.keras.layers.CuDNNLSTM进行替代。

这显然是由于TF版本升级造成的,所以要使用tf.compat巴拉巴拉告诉tensorflow仍旧要认识老版本的名字。

参考:stackoom

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值