首页 > 解决方案 > 遇到 ModuleNotFoundError:当我使用 Tensorflow GPU 处理时,没有名为“tensorflow.contrib”的模块

问题描述

我在, 行中ModuleNotFoundError: No module named 'tensorflow.contrib'执行from tensorflow.contrib.cudnn_rnn.python.ops import cudnn_rnn_ops命令时遇到。在使用 GPU 处理时,此问题是 Tensorflow 特有的。如果我不使用 GPU 处理,则完全没有问题。keras\layers\cudnn_recurrent.py425

这是我的软件堆栈:

 - OS: Windows 10
 - Python: 3.7.4
 - CUDA: 10.1
 - cuDNN: 7.5.0.56
 - tensorflow: 2.0.0
 - tensorflow-gpu: 2.0.0
 - keras: 2.3.1

编辑:为了更清楚,为了使用 GPU 处理(因为我的 GPU 支持 CUDA)而不是 CPU 处理,我在代码中唯一更改的是使用keras.layers.CuDNNLSTM类而不是keras.layers.LSTM. 当然,我已经tensorflow-gpu通过pipenv.

标签: tensorflowkerastensorflow2.0

解决方案


TensorFlow 2.0 停止支持 contrib。您可以在此处了解更多信息。

可能您的代码是为 TF 1.* 编写的,或者没有正确移植。


推荐阅读